สารบัญ:

สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น: 9 ขั้นตอน (พร้อมรูปภาพ)
สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Nissan Android Auto Tips & Support | NissanConnect 2024, กรกฎาคม
Anonim
สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อทำการพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น
สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อทำการพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น
สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อทำการพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น
สร้าง Arduino ให้เป็น Nissan Qashqai เพื่อทำการพับกระจกมองข้างอัตโนมัติหรืออย่างอื่น

Nissan Qashqai J10 มีบางสิ่งที่น่ารำคาญเล็กน้อยเกี่ยวกับการควบคุมที่อาจดีขึ้นได้อย่างง่ายดาย หนึ่งในนั้นคือต้องจำไว้ว่าให้กดสวิตช์เปิด/ปิดกระจกก่อนที่จะดึงกุญแจออกจากสวิตช์กุญแจ อีกประการหนึ่งคือการกำหนดค่าเล็กน้อยของ BCM (โมดูลควบคุมร่างกาย) และส่วนหัวของ Nissan Connect มีอย่างอื่นอีกสองสามอย่าง แต่ที่สำคัญที่สุดคือมันไม่เล่น Imperial March เมื่อคุณสตาร์ทเครื่องยนต์เหมือน quadcopters ของฉัน! สิ่งที่จำเป็นต้องทำ

มีรายงานว่าอดีตได้รับการแก้ไขแล้วใน J11 รุ่นใหม่กว่า (2015+?) แต่ฉันคิดว่าสำหรับ J11 Qashqai ปี 2014 คุณยังต้องซื้อชุดอุปกรณ์อยู่ มีชุดอุปกรณ์แยกต่างหากสำหรับรุ่น J11 และ J10 (ปี 2008 - 2013 หรือมากกว่านั้น) เช่น ชุดคิทอย่างเป็นทางการของ Nissan (ไม่ทราบราคา) ชุดอุปกรณ์ AcesDVD ราคา 70 ปอนด์จากบางรุ่นใน qashqaiforums.co.uk และรุ่นใหม่กว่าเล็กน้อย ตัวเลือก. มีคนโผล่ขึ้นมาใน aliexpress ด้วยราคาเพียง 17 ยูโร แต่ไม่มีให้บริการอีกต่อไป ชุดอุปกรณ์เหล่านี้มักจะเชื่อมต่อกับสายไฟเพียง 8 เส้นในรถที่คุณต้องการค้นหา และจะพับกระจกเข้าโดยอัตโนมัติเมื่อคุณล็อครถและพับออกเมื่อคุณปลดล็อค ดังนั้นมันจึงมีประโยชน์จริงๆ แต่ก็ยังไม่ได้ผล มีความยืดหยุ่นสูง

ดังนั้นการมีโคลน Arduino ประมาณ 1 ดอลลาร์และ MOSFET สองสามลิ้นชัก ทรานซิเตอร์ ลำโพง และส่วนประกอบอื่น ๆ ที่แฮ็กเกอร์สเปซในพื้นที่ และมีความรู้เพียงเล็กน้อยเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์แบบแอนะล็อก ฉันจึงตั้งใจที่จะจำลองสิ่งที่ชุดอุปกรณ์เหล่านั้นทำ แต่มีความยืดหยุ่นในการเปลี่ยนตรรกะโดยการตั้งโปรแกรมใหม่ บอร์ด Arduino ผ่าน USB ได้ตลอดเวลา การเชื่อมต่อ Arduino กับ MOSFET บางตัวอาจซับซ้อนใช่ไหม ปรากฎว่ามีสิ่งแปลกปลอมมากมายเมื่อขับมอเตอร์ด้วย MOSFET หรือทรานซิเตอร์ ซึ่งหมายถึงการออกแบบการเชื่อมต่อใหม่สองสามครั้ง โดยเพิ่ม $1.50 H-Bridge จาก aliexpress และตัวต้านทานอีกจำนวนหนึ่ง แต่มันใช้งานได้ และฉันได้เรียนรู้ บางสิ่ง. ต่อไปนี้คือวิธีที่คุณสามารถทำสิ่งเดียวกันนี้ได้ หากคุณต้องการให้ซื้อชุดสำเร็จรูปราคาระหว่าง 17 ถึง 90 ยูโร อาจใช้เวลาหนึ่งวันในการค้นหาทุกอย่าง ประสานสิ่งที่จำเป็นต้องบัดกรี ตั้งโปรแกรม และเดินสาย

เมื่อคุณแก้ไขปัญหาเกี่ยวกับการจ่ายไฟให้กับ Arduino แล้ว โดยไม่ได้ทำอะไรเลย 99% ของเวลาทั้งหมด และรู้วิธีเข้าถึงสายไฟในรถยนต์ คุณสามารถเพิ่มกลไกอื่นๆ ได้มากมายโดยเชื่อมต่อสายสัญญาณอื่นๆ เข้ากับบอร์ด จนถึงตอนนี้ ฉันให้เล่น Star Wars Imperial March เมื่อฉันสตาร์ทรถ ไม่ว่าจะใช้ลำโพงขนาดเล็ก หรือใช้มอเตอร์ DC ในกระจกไฟฟ้า ซึ่งขับเคลื่อนด้วยสัญญาณ PWM ของ Arduino นั้นดีพอๆ กับโดรนมอเตอร์สำหรับเล่น เสียง Arduino จะพับ / กางกระจกด้วยการหน่วงเวลา 1 วินาทีในเหตุการณ์ล็อครถ (เพื่อกระจายภาระ) และยังช่วยให้คุณสามารถพับ / กางกระจกด้วยตนเองเป็นเวลา 15 วินาทีหลังจากถอดกุญแจออกเนื่องจาก Arduino จะปิดตัวเองหลังจากผ่านไป 15 วินาที invactivity (กำหนดค่าได้ทั้งหมด) ตอนนี้มันยังควบคุมพลังงานของหน้าต่างด้วย ดังนั้นฉันสามารถปิดหน้าต่างได้เป็นเวลา 15 วินาทีหลังจากถอดกุญแจออก

โปรดทราบว่าหากไม่ใช่เพื่อความสนุก มันไม่คุ้มที่จะทำทั้งหมดนี้ เพียงแค่ซื้อชุดอุปกรณ์และประหยัดเวลา

ขั้นตอนที่ 1: ภาพรวม

ภาพรวม
ภาพรวม

ดังนั้น Qashqai ของฉันจึงเป็นรุ่น J10 ปี 2013 ไดรฟ์มือซ้าย (สำหรับการสัญจรทางขวามือ) คีย์ที่ไม่ใช่ Intelligent และรุ่นที่ไม่ใช่ Superlock แต่สิ่งนี้ควรใช้กับ J10 ทุกรุ่นที่ติดตั้งกระจกมองข้างแบบมีไฟ ซึ่งอาจใช้กับ J11 และ อาจจะเป็นรุ่นอื่นๆ การเดินสายใน J10 แต่ละรุ่นแตกต่างกันเล็กน้อย โดยรวมแล้วคุณมี 8 ชุดค่าผสม (LHD/RHD, iKey/no iKey, Superlock/no Superlock) โดยมีข้อแตกต่างที่ระบุไว้ในคู่มือบริการที่ฉันจะเชื่อมโยง J11 คือ ยังจัดทำเป็นเอกสารอย่างดี

สิ่งที่คุณต้องการ:

  • พีซีที่ติดตั้ง Arduino IDE
  • บอร์ด Arduino 5V หรือโคลนของบอร์ด Arduino 5V สองตัว ฉันใช้ aliexpress 5V 16MHz Pro Mini โคลนแบบนี้ หนึ่งคือหนึ่งสำหรับรถยนต์และคุณต้องการอันที่สองหรือโปรแกรมเมอร์ ISP จริงเพื่อตั้งโปรแกรม bootloader ใหม่ในอันแรก คุณสามารถใช้บอร์ดพัฒนาอื่นๆ ได้เช่นกัน แต่ต้องเป็นบอร์ดประเภทโง่ (เช่น Arduino ไม่ใช่คอมพิวเตอร์บอร์ดเดี่ยว) เพื่อให้แน่ใจว่าบูทได้อย่างรวดเร็ว คุณสามารถเพิ่ม SBC ควบคู่ไปกับ Arduino ได้
  • H-Bridge เช่นชิป L298n ยอดนิยม เว้นแต่คุณต้องการสร้างของคุณเองด้วย MOSFET หรือทรานซิสเตอร์ 6 ถึง 8 ตัว และส่วนประกอบอื่นๆ อีกสองสามตัว ฉันใช้บอร์ดฝ่าวงล้อม aliexpress L289n 2 ช่องพร้อมทุกอย่างรวมอยู่ด้วย
  • สี่ไดโอดชนิดใดก็ได้ที่รองรับได้ถึงประมาณ 15V (เกือบทุกไดโอดแบบทะลุผ่าน)
  • ชุดตัวต้านทาน 100kΩ, 47kΩ, 4.7kΩ หรือมากกว่านั้น ฉันใช้ตัวต้านทานแบบทะลุผ่านที่พบในแฮ็กเกอร์สเปซในพื้นที่ของฉัน
  • P-channel power MOSFET ที่สามารถรองรับ 1A หรือ 2A (หรือเป็นทรานซิสเตอร์ PNP) ฉันใช้ IRF9540n หากคุณต้องการให้กระจกไฟฟ้าผ่านเข้าไปด้วย ให้ตั้งเป้าไว้ที่ 5A เป็นอย่างน้อย
  • N-channel MOSFET ขนาดเล็ก (หรืออีกทางหนึ่งคือทรานซิสเตอร์ NPN) ฉันใช้ 2n7000 แต่อันที่ใหญ่กว่าอย่าง IRF540 หรือ RFP50N06 ก็ใช้งานได้เช่นกัน
  • สามารถเลือกลำโพงและตัวต้านทาน 100Ω
  • สายเคเบิล ประมาณ 18 AWG สำหรับการเดินสายในรถยนต์ (ฉันใช้สายซิลิกอน AWG 18 เส้นหรือน้อยกว่าจาก aliexpress) และลวดเส้นเล็กบางเส้นสำหรับเชื่อมต่อส่วนประกอบเข้าด้วยกัน หรือเลือกใช้เขียงหั่นขนมแบบบัดกรีหรือแบบไม่มีบัดกรีเพื่อติดตั้งทุกอย่างและส่วนหัวของพิน
  • สายจัมเปอร์, มัลติมิเตอร์, คีม, หัวแร้งและไขควงปากแบนเพื่อถอดฝาครอบรถ

ขั้นตอนที่ 2: ตั้งโปรแกรม Bootloader

ตั้งโปรแกรม Bootloader
ตั้งโปรแกรม Bootloader
ตั้งโปรแกรม Bootloader
ตั้งโปรแกรม Bootloader

กระดานหมายเลขหนึ่งจะไปในรถ จำเป็นต้องใช้บอร์ดที่สองเพื่อแฟลช bootloader บน Arduino หมายเลขหนึ่งเพียงครั้งเดียว นี่เป็นเพราะ Arduinos ที่ใช้ AVR มักจะมาพร้อมกับ bootloader รุ่นเก่าซึ่งมีการหน่วงเวลาในตัว 500ms หรือ 1s ก่อนที่จะเริ่มโปรแกรมของคุณ เพื่อให้มีเวลาสำหรับโปรแกรมเมอร์ในการส่งสัญญาณ bootloader เริ่มต้นใหม่คือ optiboot ซึ่งมีกลไกที่ช่วยให้สามารถรันโปรแกรมได้ทันทีเมื่อเปิดเครื่อง

ในรถยนต์ Arduino จะถูกขับเคลื่อนโดยหนึ่งในสามสัญญาณต่อไปนี้: เปิด ACC ล็อคหรือปลดล็อค สัญญาณสองตัวหลังเป็นพัลส์ 12V สั้น ๆ ที่ปลุกเราครู่หนึ่งเท่านั้น จากนั้น Arduino จะต้องใช้พินดิจิตอลอันใดอันหนึ่งเพื่อส่งสัญญาณว่าต้องการรับพลังงานต่อไป เราจำเป็นต้องรีแฟลชเป้าหมาย Arduino ด้วย optiboot เพื่อให้สามารถทำได้เร็วพอก่อนที่พัลส์จะสิ้นสุดลงและเราสูญเสียพลังงาน (คุณสามารถแก้ไขได้โดยการเพิ่มตัวเก็บประจุขนาดใหญ่ แต่ meh)

เชื่อมต่อบอร์ด 2 ตัวเข้ากับพีซี - หากไม่มีพอร์ต USB เช่น Pro Mini โคลนที่ฉันใช้ ให้บัดกรีหมุดตัวผู้ 5 ตัวที่ด้าน GND, VCC, RXD, TXD, DTS ของบอร์ดแล้วเชื่อมต่อผ่าน USB -เป็นอะแดปเตอร์แบบอนุกรม จากนั้นเปิด Arduino IDE จากไฟล์ / ตัวอย่างโหลด Arduino ISP และยกเลิกการใส่เครื่องหมายบรรทัดนี้:

#define USE_OLD_STYLE_WIRING

(หาก Arduino IDE ของคุณยังใหม่พอที่จะมีสิ่งนี้ มิฉะนั้น คุณไม่จำเป็นต้องยกเลิกความคิดเห็นใดๆ) ในเมนูเครื่องมือ/บอร์ด คุณจะต้องเลือก Arduino Pro หรือ Pro Mini ตัวใดตัวหนึ่ง Arduino/Genuino Duemilanove หรือ Arduino/Genuino Uno ขึ้นอยู่กับอัตราบอดที่กำหนดค่าไว้ใน bootloader ที่จัดส่งบนบอร์ดของคุณ ลองใช้จนกว่าคุณจะสามารถอัปโหลดภาพร่างไปยังบอร์ดได้ ถอดบอร์ด.

หมุดบัดกรี ตัวผู้หรือตัวเมีย ขึ้นอยู่กับสายจัมเปอร์ที่คุณมี บนหมุดดิจิทัล 10, 11, 12, 13 ที่บอร์ดทั้งสอง (คุณสามารถใช้สายจัมเปอร์ตัวผู้โดยไม่มีส่วนหัวก็ได้ แต่มี…) และ RST, VCC และ GND บนเรือลำเดียว ที่จริงแล้วบนบอร์ดนั้นคุณอาจต้องใช้ส่วนหัวทั้งหมดหมุดที่ด้านข้างของบอร์ดเพื่อประสานโดยตรง จากนั้นเชื่อมต่อพิน 11, 12 และ 13, VCC และ GND ของทั้งสองบอร์ดเข้าด้วยกัน และปักหมุด 10 ของบอร์ดสองเข้ากับ RST ของบอร์ดหนึ่ง คุณอาจต้องการใช้พิน VCC และ GND สำรองบนบอร์ดสองอัน เพื่อให้คุณสามารถต่ออะแดปเตอร์ USB-to-Serial ไว้ด้วย

ในที่สุดเชื่อมต่อบอร์ดที่สองกับคอมพิวเตอร์ดาวน์โหลด optiboot รุ่นล่าสุด optiboot.zip จาก https://github.com/Optiboot/optiboot/releases และปฏิบัติตามการติดตั้งโดยใช้คำแนะนำ Arduino IDE บนวิกิ หรือหากคุณใช้ Linux และติดตั้ง avrdude ไว้ เพียงเปิดเครื่องรูด optiboot.zip แล้วรันคำสั่งต่อไปนี้:

avrdude -p m328p -P /dev/ttyUSB0 -c avrisp -b 19200 -u -U lfuse:w:0xdf:m -U hfuse:w:0xdc:m -U efuse:w:0xfd:m -v -v

avrdude -p m328p -P /dev/ttyUSB0 -c avrisp -b 19200 -u -U flash:w:Optiboot/bootloaders/optiboot/optiboot_atmega328.hex:i -v -v

คำสั่งแรกจะตั้งค่าฟิวส์ AVR เพื่อเพิ่มความเร็วในการเริ่มต้นร่างภาพให้เร็วขึ้นโดยสูญเสียความเสถียรของนาฬิกา ปรับเส้นทาง /dev/ttyUSB0 ตามสิ่งที่อะแดปเตอร์ USB-to-Serial ของคุณแสดงเป็น

ขั้นตอนที่ 3: ตั้งโปรแกรม Arduino Sketch

ตั้งโปรแกรม Arduino Sketch
ตั้งโปรแกรม Arduino Sketch

ตอนนี้คุณสามารถเชื่อมต่อบอร์ด Arduino 1 กับพีซีได้โดยตรง เปิดภาพสเก็ตช์นี้ใน Arduino IDE แล้วคอมไพล์และอัปโหลดภาพร่างไปยังบอร์ด หากคุณกำลังใช้ 16MHz Pro Mini เหมือนฉัน ด้วยไบนารี optiboot รีลีส คุณจะต้องเลือก Arduino/Genuino Uno จาก Tools/Boards ก่อน

คุณสามารถกลับมาเปลี่ยนการแมปพินและตัวเลือกใดๆ ในโค้ดได้ในภายหลัง หากคุณทำการแก้ไขหรือปรับปรุงโค้ดในภายหลัง อย่าลืมสนับสนุนพวกเขาในคำขอดึง github ในบางครั้ง

ขั้นตอนที่ 4: สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ

สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ
สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ
สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ
สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ
สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ
สร้างบอร์ดอิเล็กทรอนิกส์ของคุณ

สุดท้าย คุณจะต้องเชื่อมต่อส่วนประกอบทั้งหมดเข้าด้วยกัน และมีหลายวิธีในการทำเช่นนั้น คุณจะต้องลงเอยด้วยแผนผังตามที่แสดงในภาพ (หรือที่นี่) วิธีที่ง่ายที่สุดคือทำการเชื่อมต่อทั้งหมดบนเขียงหั่นขนมและมีแถวส่วนหัวของพินเพื่อเชื่อมต่อกับบอร์ด Arduino อีก 2 พินส่วนหัวสำหรับลำโพงบวกและลบ, ส่วนหัว 2, 3 หรือ 4 พินเพื่อเชื่อมต่อกับ H-Bridge การแยกย่อยขึ้นอยู่กับประเภทของสาย และสายที่หนาขึ้นเพื่อเชื่อมต่อ 12V กับสายไฟรถยนต์ในที่สุด และสาย PWR และ GND กับ H-Bridge บอร์ดของฉันออกมาค่อนข้างแย่ แต่ใช้งานได้ คุณสามารถดูได้ในภาพด้านบน

หมายเหตุบางประการเกี่ยวกับแผนผัง:

  • เพื่อความง่าย ฉันตัดสินใจใส่ส่วนประกอบรูทะลุทั้งหมดและส่วนหัวของพิน และด้านหนึ่งของเขียงหั่นขนม PCB และการเชื่อมต่อที่แท้จริงระหว่างพวกเขาด้วยสายไฟหรือจุดบัดกรีที่อีกด้านหนึ่ง
  • เลย์เอาต์ของบอร์ด ถ้าคุณต้องการใช้ PCB ด้วยซ้ำ ไม่จำเป็นต้องเป็นอะไรที่เหมือนกับเลย์เอาต์แผนผัง
  • บอร์ดของฉันมีสายไฟสำหรับ GND, ACC, SWITCH-, MIRROR+ และ MIRROR- ประมาณ 8 ซม. ซึ่งทั้งหมดจะเชื่อมต่อกับขั้วต่อ M7 ในรถยนต์ซึ่งอยู่ด้านล่างแดชบอร์ด สาย BAT+, LOCK+ และ LOCK- ของฉันยาวกว่าเพราะเชื่อมต่อที่อื่น
  • ตัวต้านทาน R1 ถึง R8 เป็นตัวแบ่งแรงดันไฟฟ้าสำหรับสัญญาณอินพุต 12V ที่จะอ่านโดยพินดิจิทัลของ Arduino ความสัมพันธ์ระหว่างตัวต้านทาน 47k และ 100k อยู่ที่ประมาณ 2:1 ซึ่งสำหรับ Arduino 5V (ที่มีความทนทานต่ออินพุตประมาณ 3V ถึง 5.5V สำหรับระดับสูง) หมายความว่าแรงดันไฟฟ้าจากรถสามารถอยู่ในช่วงตั้งแต่ 9.5V ถึงประมาณ 17V นั่นน่าจะเพียงพอสำหรับทุกอย่างที่จะใช้งานได้แม้กับแบตเตอรี่ที่คายประจุออกมาอย่างหนักในรถจนเต็มและแม้กระทั่งแบตเตอรี่ลิเธียมโพลิเมอร์ 4 เซลล์แบบเดียวกับที่ใช้ในโดรน (บางครั้งก็ใช้สตาร์ทรถด้วยแบตเตอรี่หมดถ้าแค่นั้น คุณมี). คุณสามารถใช้ค่าตัวต้านทานที่แตกต่างกันได้ แต่ต้องอยู่ใกล้หรือสูงกว่าตัวต้านทานแบบดึงขึ้นในตัวของ Arduino บนพินดิจิตอลเนื่องจากเราร่างใช้การดึงขึ้นเพื่อตรวจจับสถานะสูง ต่ำ และลอยบน เข็มหมุด. นั่นเป็นเหตุผลที่ไม่สามารถใช้ตัวเปลี่ยนระดับ I2C ทั่วไปสำหรับการแปลระดับได้ ตัวเปลี่ยนระดับ I2C ประกอบด้วยตัวต้านทานแบบดึงขึ้นแบบถาวรและจะทำให้สิ่งต่างๆ ซับซ้อนขึ้นมาก ตัวแบ่งแรงดันไฟฟ้าของเราทำงานเป็นแบบดึงลง
  • มอสเฟตสองตัวช่วยให้ Arduino ปิดไฟได้เต็มที่เมื่อตัดสินใจว่าไม่ต้องทำอะไรอีกต่อไปเพื่อให้แน่ใจว่าแบตเตอรี่รถยนต์จะไม่หมดหากคุณทิ้งรถไว้เป็นเวลานาน P-channel MOSFET จะต้องส่งกระแสทั้งหมดไปที่ H-Bridge, มอเตอร์กระจก และมอเตอร์ที่มีศักยภาพอื่นๆ ดังนั้นจึงจำเป็นต้องทนอย่างน้อย 1A และอีกมากมาย หากคุณกำลังจะจ่ายไฟให้กับหน้าต่างผ่าน.
  • ฉันใช้ตัวต้านทาน 4.7K เพิ่มเติมที่ N-channel mosfet gate เพื่อปกป้องมัน แต่สิ่งต่าง ๆ ยังคงทำงานโดยไม่มีตัวต้านทานนั้น แต่ฉันได้เผามอสเฟต 2n7000 สองสามตัวขณะทำการทดสอบและต้องการครอบคลุมปัญหาที่เป็นไปได้ทั้งหมด
  • หากคุณใช้ทรานซิสเตอร์ PNP (เช่น TIP135) แทน P-channel MOSFET คุณสามารถข้ามตัวต้านทาน R10 ได้ เนื่องจากเกตจะมีความจุน้อยกว่า
  • หากคุณใช้ทรานซิสเตอร์ NPN (เช่น 2N2222A) แทน N-channel MOSFET คุณสามารถข้ามตัวต้านทาน R9 ได้
  • หากคุณคิดว่าการสร้าง H-Bridge ของคุณเองเป็นความคิดที่ดี ให้ดูที่หน้านี้ จะมีรายการการออกแบบ H-Bridge จำนวนหนึ่งและข้อผิดพลาดบางประการที่ต้องระวัง
  • R2 และ R6 อาจถูกกำจัดออกไปเช่นกันหากคุณทำให้ Arduino Sketch ฉลาดพอที่จะตรวจจับสัญญาณปลดล็อคจากเพียงแค่เขาล็อคสาย
  • สัญญาณสัมผัสปัจจุบันของสะพาน H-Bridge (SenseA) เป็นทางเลือก และภาพร่างปัจจุบันของฉันไม่สามารถใช้งานได้ การฝ่าวงล้อม aliexpress L298n มาโดยไม่มีตัวต้านทานการตรวจจับปัจจุบันที่แสดงในแผนผังอ้างอิงในแผ่นข้อมูล แต่สามารถเพิ่มได้อย่างง่ายดาย (ต้องตัดร่องรอย)
  • หากคุณเปลี่ยนการแมปพินของ Arduino ข้อควรพิจารณาเพียงอย่างเดียวคือ: LOCK+ เชื่อมต่อกับพินที่มีความสามารถแบบอะนาล็อกเพื่อให้สามารถตรวจจับทั้งสัญญาณล็อคและปลดล็อคจากพินนั้นในอนาคต สัญญาณความรู้สึกปัจจุบันยังเป็นพินที่มีความสามารถแบบอะนาล็อก สัญญาณ ENA ของ H-Bridge และลำโพงเชื่อมต่อกับพินที่รองรับ PWM เพื่อเปิดใช้งานการสร้าง PWM บนตัวเหล่านี้ แต่อีกครั้งที่ไม่ได้ใช้ในปัจจุบัน
  • หากคุณใช้ลำโพงแบบเพียโซ คุณไม่จำเป็นต้องมีตัวต้านทานที่พินโพซิทีฟของลำโพง สำหรับลำโพงประเภทอื่น คุณอาจต้องใช้ตัวต้านทาน 100Ω ระหว่างพิน 10 ของ Arduino กับลำโพง ซึ่งไม่ได้อยู่ในแผนผัง

ขั้นตอนที่ 5: ค้นหาสัญญาณล็อคในรถยนต์

ค้นหาสัญญาณล็อคในรถ
ค้นหาสัญญาณล็อคในรถ
ค้นหาสัญญาณล็อคในรถ
ค้นหาสัญญาณล็อคในรถ
ค้นหาสัญญาณล็อคในรถ
ค้นหาสัญญาณล็อคในรถ

อันนี้ค่อนข้างยุ่งยากและที่ฉันเคยเห็นบางคนที่ซื้อชุดสำเร็จรูปล้มเหลวระหว่างการติดตั้งตามความคิดเห็นของผู้ซื้อ คู่มือบริการมีประโยชน์ในการค้นหาสายไฟที่ถูกต้อง แต่เพียงในระดับหนึ่งเท่านั้น เนื่องจากคู่มือเหล่านี้จัดทำขึ้นเพื่อการวินิจฉัย (หากทำเช่นนี้ ให้ทำเช่นนี้..) แทนที่จะเป็นเอกสารประกอบ ฉันคัดลอกบางหน้าจากคู่มือเวอร์ชันใดเวอร์ชันหนึ่งที่คุณสามารถ google ได้ และฉันได้เพิ่มหมายเหตุบางส่วนเข้าไป

ดูไดอะแกรมในหน้า 72 (สำหรับ LHD) หรือ 89 (สำหรับ RHD) สำหรับชื่อตัวเชื่อมต่อบน Main Harness ฉันวาง Arduino ไว้ใต้แผงหน้าปัดเพื่อปิดตัวควบคุมกระจก ดังนั้นฉันจึงต้องการเชื่อมต่อกับสายไฟในชุดสายไฟหลัก

สำหรับสัญญาณส่วนใหญ่ เราสามารถใช้สายเคเบิลที่เชื่อมต่อกับขั้วต่อ M7 ซึ่งจริงๆ แล้วเสียบเข้ากับชุดควบคุมกระจก อย่างไรก็ตามแบตเตอรี่บวกและล็อคบวก (หรือปลดล็อคเชิงลบ) และล็อคสายเชิงลบ (หรือปลดล็อคบวก) ไม่ได้อยู่ที่นั่น จริงๆ แล้วมีสายปลดล็อคมากกว่าหนึ่งเส้น (ค่าลบล็อค) ที่มาจาก Body Control Module เพราะประตูสามารถปลดล็อคได้อย่างอิสระ เราสามารถใช้สัญญาณปลดล็อคใดก็ได้เพื่อจุดประสงค์ของเรา อย่างไรก็ตาม ประตูสามารถล็อคได้พร้อมกันเท่านั้น จึงมีสัญญาณล็อคเพียงอันเดียว (ปลดล็อคค่าลบ)

ในรุ่นขับซ้าย สัญญาณบวกล็อคเดียวถูกส่งไปยังประตูด้านหลังผ่านครึ่งทางขวาของรถ เราจึงไม่สามารถใช้ขั้วต่อ M13 ซึ่งน่าจะสะดวกกว่าเพราะมีเพียงสัญญาณปลดล็อคเท่านั้น ในรถยนต์พวงมาลัยขวา คุณสามารถใช้สายไฟที่เชื่อมต่อกับขั้วต่อ M11 ซึ่งมีทั้งสัญญาณที่เราต้องการและเข้าถึงได้ง่าย ในเวอร์ชัน LHD ฉันได้ต่อสายเคเบิลที่เชื่อมต่อกับขั้วต่อ M19 ซึ่งมีสายล็อคและปลดล็อคสำหรับประตูคนขับด้านหน้า (ปลั๊ก M19 เข้ากับ D2 ในสายรัดประตู หน้า 82) M19 ค่อนข้างเข้าถึงไม่ได้ แต่สายเคเบิลที่ต่อออกจากท่อพลาสติกขนาดใหญ่พร้อมกับสายเคเบิลสำหรับ M18, M77, M78, M13 และ M14 จึงหาได้ง่าย สายต่อ M11 สำหรับไดรฟ์ด้านขวาออกจากท่อที่อยู่ในตำแหน่งเดียวกันแต่อยู่ทางด้านขวา

ในการไปถึงที่นั่น ก่อนอื่นคุณต้องถอดสิ่งที่คู่มือเรียกว่า "แผ่นเตะด้านหน้า" ซึ่งเป็นส่วนพลาสติกของพื้นข้างประตูคนขับออก (ผมเชื่อว่าเป็นหมายเลข 4 ในแผนภาพหน้า 14 ของคู่มือบริการส่วนนี้) คุณสามารถใช้ไขควงแรงขึ้นซึ่งจะทำให้แถบพลาสติกหลุดออกจากพื้น จากนั้นคุณจะเห็นสายและขั้วต่อทั้งหมดในส่วนด้านหน้า ถัดมาคือ "คิ้วปิดข้างแผงหน้าปัด" ซึ่งเป็นพลาสติกครอบโดยเริ่มจากพื้น ไปทางด้านข้างของแป้นเหยียบ (หมายเลข 1) ด้านหน้ามีสกรูพลาสติกสอดเข้าไป (หมายเลข 12 ในแผนภาพ) พร้อมน็อตพลาสติกที่ต้องถอดออก จากนั้นจึงดึงออกทั้งหมดด้วยมือ โดยหวังว่าจะไม่ทำให้แถบพลาสติกแตก หรือคุณอาจต้องการลบ "แผงหน้าปัดด้านล่าง" หน้า 14 ที่นี่

ตัวเชื่อมต่อที่คุณจะเห็นเชื่อมต่อสายรัดหลักกับสายรัดตัว (M13, M14), ชุดสายรัดห้องเครื่องยนต์ (M77, M78) และสายรัดประตู (มองไม่เห็น, M18, M19)

หน้า 630 ของคู่มือบริการส่วนนี้แสดงเลย์เอาต์ของขั้วต่อ M19 สำหรับการกำหนดค่า "โดยไม่มี I-KEY & SUPERLOCK" คุณสามารถค้นหาพินเอาต์สำหรับการกำหนดค่าแต่ละรายการในดัชนี แต่สายสีควรเหมือนกันเป็นส่วนใหญ่ ในกรณีของฉันมันบอกว่า (ในหน้า 630) พิน 2 "GR" สำหรับสีเทาและพิน 3 "SB" สำหรับท้องฟ้า หน้า 626 แสดงให้เห็นว่าสิ่งเหล่านี้ถูกต่อสายตั้งแต่ BCM ไปจนถึง "ตัวกระตุ้นการล็อคประตูหน้า (ด้านคนขับ)" อย่างไร แต่โดยพื้นฐานแล้ว เราต้องรู้สีทั้งหมด ในกรณีของฉันสีเทาคือปลดล็อคและสีฟ้าคือล็อค

ดังนั้น เมื่อคุณพบสายไฟประมาณ 6 มัดที่ลากออกจากท่อลูกฟูกกว้างนั้นไปยังด้านข้างของคันโยกฝาเชื้อเพลิง สายเคเบิล 4 กลุ่มจะไปยังขั้วต่อด้านล่าง ขณะที่อีก 2 กลุ่มจะไปทางซ้าย ในสองสายนี้ฉันสังเกตเห็นว่าสายหนึ่งมีสายที่หนากว่า นี่คือสายที่ใช้กับขั้วต่อ M19 ค้นหาสายเคเบิลสีเทา สีฟ้า และสีชมพู สีชมพูเป็นประจุบวกของแบตเตอรี่ ในกรณีของฉัน มีสายเคเบิลสีฟ้าสองเส้นที่มีเครื่องหมายจุดที่ทำด้วยมือ และสายที่เราต้องการคือสายที่บางกว่าเล็กน้อยหนึ่งในสองเส้น ฉันลงเอยด้วยการตัดเล็ก ๆ ด้วยคัตเตอร์และตรวจสอบว่าอันไหนแสดงพัลส์บวกสั้น ๆ บนมัลติมิเตอร์เมื่อล็อครถ จากนั้นฉันก็ตัดสายเคเบิลทั้งสามเส้นด้วยคีม ต่ออีกครั้งด้วยขั้วสกรู จากนั้นจึงเพิ่มสายต่ออีก 3 เส้น (2x สีขาว 1x สีแดง) ประมาณ 40 ซม. เพื่อส่งสัญญาณไปยังตำแหน่งที่ Arduino ของฉันจะไป (ใกล้ตัวควบคุมกระจก). ไม่ควรเกิดอะไรขึ้น แต่คุณอาจต้องการตัดสายหนึ่งเส้นก่อน ล็อคปลายสายที่ขาดในขั้วสกรู จากนั้นตัดสายต่อไปเพื่อหลีกเลี่ยงการลัดวงจรบางอย่าง

หมายเหตุ: คุณสามารถยกเลิกการเชื่อมต่อส่วนใหญ่ได้ชั่วคราวเพื่อเอาสายเคเบิลออก แต่ถ้าคุณถอดขั้วต่อ M77/M78 แดชบอร์ดทั้งหมดจะสูญเสียพลังงานแบตเตอรี่และนาฬิกาของคุณจะถูกรีเซ็ต และ Nissan Connect จะถามรหัสความปลอดภัยจากคุณ

หมายเหตุ: คอนเน็กเตอร์เหล่านี้บางตัวมีสัญญาณที่น่าสนใจอื่นๆ เช่น M13 มีสายไฟจากเซ็นเซอร์ที่เปิดประตู ดังนั้นหากคุณต้องการทำระบบอัตโนมัติบน Arduino ที่ต้องการทราบว่าประตูใดเปิดอยู่หรือไม่ คุณอาจใช้โอกาสนี้ เชื่อมต่อสายเคเบิลที่เกี่ยวข้องเพื่อต่อเข้ากับ Arduino

หมายเหตุ: สำหรับจุดประสงค์ของคำแนะนำนี้ คุณยังสามารถติดตั้ง Arduino ไว้ที่ประตูได้ และคุณจะสามารถเข้าถึงสัญญาณทั้งหมดได้ในที่เดียว

ขั้นตอนที่ 6: ตัวเลือก: Windows Power

ทางเลือก: Windows Power
ทางเลือก: Windows Power

ในขณะที่คุณอยู่ที่นั่น คุณยังสามารถเตรียมสายเคเบิลเส้นที่ 4 ที่จะจ่ายไฟให้กับตัวควบคุมหน้าต่างและมอเตอร์จาก MOSFET ที่ควบคุมโดย Arduino ของเรา แทนที่จะใช้สาย BCM ที่จะจ่ายไฟเพียง 12V เมื่อกุญแจอยู่ในตำแหน่งเปิด ที่จะช่วยให้คุณควบคุมหน้าต่างได้เป็นเวลา 15 วินาทีที่เราได้ตั้งโปรแกรม Arduino ให้คงพลังงานไว้หลังจากถอดกุญแจออก อย่างไรก็ตาม คุณจะต้องใช้ MOSFET P-channel ที่แข็งแรงและการเดินสายที่เหมาะสม ฉันยังไม่ได้ตรวจสอบว่าการเดินสายของฉันไม่ได้ทำให้ฟิวส์หรือ BCM เครียดเกินไปหรือไม่ แต่ฉันยังไม่ได้เป่าฟิวส์เลย

ในการทำเช่นนั้น คุณจะต้องค้นหาสายเคเบิล "สีน้ำเงิน" (ไม่ใช่ "สีน้ำเงิน") สองเส้นที่ไปยังขั้วต่อ M19 ตัวที่เราจะฉีดกำลังคือตัวที่หนากว่าหนึ่งในสองพินหมายเลข 8 ที่ M19 ปกติแล้วทั้งสองแบบจะลัดวงจรพร้อมกัน ดังนั้นจึงไม่มีทางรู้ได้ว่าอันไหนคืออันไหนที่มีมัลติมิเตอร์ จนกว่าคุณจะตัดอันใดอันหนึ่งออก เพียงแค่ตัดอันที่หนากว่าเล็กน้อย ตอนนี้เราไม่จำเป็นต้องใช้ครึ่งบนของมัน (อันที่ปกติจ่ายพลังงานจาก BCM ผ่าน Main Harness) ดังนั้นเพียงแค่พันปลายด้านนั้นด้วยเทปพันสายไฟ ใช้ขั้วต่อสกรูเพื่อขยายอีกครึ่งหนึ่ง (อันที่ไปถึง M19) ให้เหมือนกับสายต่ออีกสามเส้นที่เราเตรียมไว้

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

หมายเหตุ: สายที่สี่นี้เป็นทางเลือก แต่คุณสามารถทำเช่นนี้ได้แม้ว่าคุณจะวางแผนที่จะหา MOSFET ที่ใหญ่เพียงพอในภายหลัง เพื่อที่คุณจะได้ไม่ต้องวุ่นวายกับสายรัดสายไฟอีก ในระหว่างนี้ คุณสามารถเชื่อมต่อสายที่สี่นี้กับไฟ ACC ได้โดยตรงในขั้นตอนต่อไป

ขั้นตอนที่ 7: เชื่อมต่อ Contraption กับ Mirror Control Wires

เชื่อมต่อ Contraption เข้ากับสายควบคุมกระจก
เชื่อมต่อ Contraption เข้ากับสายควบคุมกระจก
เชื่อมต่อ Contraption กับสายควบคุมกระจก
เชื่อมต่อ Contraption กับสายควบคุมกระจก
เชื่อมต่อ Contraption กับสายควบคุมกระจก
เชื่อมต่อ Contraption กับสายควบคุมกระจก

ตอนนี้ คุณมีสายเคเบิลทั้งหมด 8 เส้นใกล้กับตัวควบคุมกระจกแล้ว คุณสามารถใช้แถบขั้วต่อสกรูอีกอันแล้วเชื่อมต่อทุกอย่างเข้าด้วยกัน คุณจะสังเกตเห็นว่าตัวควบคุมกระจกติดตั้งอยู่บนจานสี่เหลี่ยมคร่าวๆ ซึ่งคุณสามารถใช้ไขควงปากแบนดันออกได้ ด้านในมีซ็อกเก็ตสามช่อง ช่องเสียบที่ใหญ่ที่สุดคือช่องเสียบ M7 จากปลั๊กสายรัดหลัก ดูด้านบน pinout ของตัวเชื่อมต่อ M7 พร้อมหมายเหตุที่ฉันเพิ่ม โดยทั่วไปคุณจะต้องตัดสายไฟสำหรับพิน 1 (GND, สีดำ), 3 (ACC, สีแดง), 8 (MIRROR+, สีส้ม) และ 9 (MIRROR-, สีน้ำเงิน)

นี่คือการเชื่อมต่อที่คุณต้องทำ:

  • สายต่อ LOCK+ (ล็อค) และ LOCK- (ปลดล็อค) และ BAT+ (ขั้วบวกของแบตเตอรี่) จาก M19 จากขั้นตอนก่อนหน้าไปยังแผงวงจรของเรา
  • สายเคเบิล GND ที่คุณตัดเป็นสองส่วนจะต้องต่อเข้าด้วยกันด้วยขั้วต่อสกรูและต่อเข้ากับวงจรของเราด้วย
  • ไม่ได้ต่อสัญญาณ MIRROR+ และ MIRROR- ส่วนที่ไปยังสายรัดหลักจะต้องเชื่อมต่อกับ H-Bridge ในขณะที่ครึ่งหนึ่งของสัญญาณ MIRROR จากขั้วต่อ M7 จำเป็นต้องเชื่อมต่อกับสัญญาณ SWITCH ที่ส่งไปยัง Arduino ผ่านตัวแบ่งแรงดันไฟฟ้า ไม่จำเป็นต้องใช้สายอื่น แต่ล็อคเข้าที่ขั้วสกรูเพื่อไม่ให้สูญหาย
  • สาย ACC จากสายรัดเชื่อมต่อกับบอร์ดของเรา ในขณะที่เอาต์พุต PWR จากบอร์ดของเราเชื่อมต่อกับตำแหน่งที่เชื่อมต่อ ACC ที่ขั้วต่อ M7 คุณสามารถใช้ขั้วต่อสกรูสองขั้วเพื่อเชื่อมต่อสายเคเบิลเดิมทั้งสองครึ่งเข้ากับสาย ACC และ PWR จากวงจรใหม่ของเรา

เชื่อมต่อ Arduino และลำโพงกับส่วนที่เหลือของวงจรและติดเทปไฟฟ้าทุกที่ หรือคุณสามารถออกแบบเคสที่พิมพ์ 3 มิติที่สวยงามเพื่อเก็บทุกอย่างไว้ด้วยกัน ฉันเลือกใช้เทปพันสายไฟทุกที่ด้วยตัวเอง ฉันเพิ่งปล่อยอะแดปเตอร์ USB เป็นอนุกรมที่เชื่อมต่อกับ Arduino ทดสอบว่า Arduino ตอบสนองต่อเหตุการณ์ที่ถูกต้องทั้งหมดโดยสร้างเสียงด้วยลำโพงจากนั้นผลักความยุ่งเหยิงผ่านช่องเปิดสำหรับแผงควบคุมกระจกวางแผงนั้นกลับเข้าไป และเหลือเพียงขั้วต่อ USB ที่เปิดไว้สำหรับการเปลี่ยนแปลงเพิ่มเติมในภาพร่าง

ขั้นตอนที่ 8: ทดสอบ

หากคุณได้สายเคเบิลส่วนใหญ่อย่างถูกต้อง ปัญหาเดียวที่เหลืออยู่คือการหาขั้วสัญญาณล็อค/ปลดล็อค มอเตอร์กระจกจะต่อสายไฟ และขั้วสัญญาณสวิตช์ ด้วยภาพสเก็ตช์ของฉัน อย่างน้อยคุณควรได้ยินเสียงเพลงของ Imperial March เมื่อหมุนกุญแจไปที่ตำแหน่ง ACC และกระจกควรพับเข้าหรือออก หากพับเข้าแทนที่จะพับออก เพียงสลับหมายเลขพิน PIN_HBRIDGE_DIR1 และ PIN_HBRIDGE_DIR2 ในแบบร่าง แล้วอัปโหลดไปที่บอร์ดอีกครั้ง ต่อไป หากสวิตช์กระจกแบบแมนนวลทำงานผิดวิธี ให้ยกเลิกการใส่เครื่องหมาย

#define MIRROR_SWITCH_INVERT

ไลน์. สุดท้าย ลองล็อกและปลดล็อกรถ หากกระจกเคลื่อนไปในทิศทางอื่น ให้เปลี่ยน PIN_LOCK1_IN และ PIN_LOCK2_IN ในภาพร่าง

ขั้นตอนที่ 9: ทำอะไรได้อีก

  • ปิดหน้าต่างและหลังคาของตัวล็อครถและอาจกลับสู่ตำแหน่งสุดท้ายเมื่อปลดล็อค สิ่งนี้ควรใช้งานได้กับ H-Bridges แต่ฉันไม่แน่ใจว่าจะเหลือ IO บน Arduino เพียงพอสำหรับสายไฟทั้งหมด คุณต้องใช้การตรวจจับกระแสไฟเพื่อให้สามารถสัมผัสได้ว่ามอเตอร์ทำงานมานานแค่ไหนแล้วจึงจะสามารถกลับคืนสู่ตำแหน่งเดิมได้ในภายหลัง การปิดหน้าต่างขณะล็อกทำได้ง่ายกว่าเพราะคุณต้องการเพียงพินเอาต์พุตหนึ่งพินและครึ่งหนึ่งของ H-Bridge ที่มีไดโอดหรือ MOSFET เพิ่มเติม เพื่อหลีกเลี่ยงการเกิดช็อตสั้นหากมีผู้สั่งงานการควบคุมหน้าต่างแบบแมนนวลพร้อมกัน การเดินสายไฟทั้งหมดนี้ดูเหมือนง่ายสำหรับผู้โดยสารและกระจกหลัง เพราะทั้งหมดนี้ต้องผ่านขั้วต่อ D8/B8 อย่างไรก็ตาม หน้าต่างด้านคนขับนั้นยุ่งยากกว่า
  • ตามฟอรั่มอาจเป็นสิ่งที่ไม่พึงประสงค์ที่จะพยายามพับกระจกในฤดูหนาวหากกลไกถูกแช่แข็ง Arduino มีเทอร์มิสเตอร์เทอร์มิสเตอร์ NTC และสามารถตัดสินใจได้โดยอัตโนมัติว่าแทนที่จะให้คนขับแตะสวิตช์กระจกปีละสองครั้ง
  • ค้นหาว่าสัญญาณเกียร์ถอยหลังของ Nissan Connect เป็นสายเดี่ยวหรือสัญญาณ OBD2 ฉันอยากให้ Nissan Connect แสดงมุมมองกล้องด้านหลังต่อไปเป็นเวลาสองสามวินาทีหลังจากเปลี่ยนเกียร์เดินหน้า และยังแสดงมุมมองของกล้องด้านหลังเมื่อรถกำลังถอยหลังโดยไม่ได้เข้าเกียร์ถอยหลัง ความรำคาญหลักของฉันกับระบบนี้
  • เพิ่ม Raspberry Pi หรือ SBC อื่นควบคู่ไปกับ Arduino เพื่อประมวลผลสัญญาณ OBD2 รวมถึงสัญญาณจาก Arduino ทำการบันทึกและสมาร์ทเพิ่มเติม

แนะนำ: