Go Back   EcoModder Forum > EcoModding > Aerodynamics
Register Now
 Register Now
 

Reply  Post New Thread
 
Submit Tools LinkBack Thread Tools
Old 03-19-2024, 02:44 PM   #1 (permalink)
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 685

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 150
Thanked 247 Times in 151 Posts
Arduino UNO-based Active Grille Block

I have been working on integrating an active grille into the fibreglass partial grille block.

I went the COTS (commercial-off-the-shelf) route as to speed up the construction. The grille vane assembly is from a Chevrolet Bolt, or Malibu ? It includes only the plastic frame, no actuator-motor. It is a generic brand bought on amazon.

I basically cut it half, added a servo motor and a pair of micro switches (top and bottom).

Pretty basic functionality for the time being (OPEN/SHUT), but I will be integrating the micro switches and an LCD display. Below is the active grille block in action.



Stay tuned for more updates in the coming days.

Cheers.

  Reply With Quote
The Following 6 Users Say Thank You to CigaR007 For This Useful Post:
aerohead (03-21-2024), freebeard (03-23-2024), Gasoline Fumes (03-20-2024), Ijeeep (04-05-2024), Joggernot (03-25-2024), Piwoslaw (03-21-2024)
Alt Today
Popular topics

Other popular topics in this forum...

   
Old 03-21-2024, 04:42 AM   #2 (permalink)
aero guerrilla
 
Piwoslaw's Avatar
 
Join Date: Oct 2008
Location: Warsaw, Poland
Posts: 3,700

Svietlana II - '13 Peugeot 308SW e-HDI 6sp
90 day: 58.1 mpg (US)
Thanks: 1,274
Thanked 731 Times in 464 Posts
Nice!

Now I am interested in how the Arduino will control it.
__________________
e·co·mod·ding: the art of turning vehicles into what they should be

What matters is where you're going, not how fast.

"... we humans tend to screw up everything that's good enough as it is...or everything that we're attracted to, we love to go and defile it." - Chris Cornell


[Old] Piwoslaw's Peugeot 307sw modding thread
  Reply With Quote
The Following User Says Thank You to Piwoslaw For This Useful Post:
aerohead (03-21-2024)
Old 03-21-2024, 11:24 AM   #3 (permalink)
Master EcoModder
 
aerohead's Avatar
 
Join Date: Jan 2008
Location: Sanger,Texas,U.S.A.
Posts: 15,895
Thanks: 23,972
Thanked 7,222 Times in 4,649 Posts
' control '

Quote:
Originally Posted by Piwoslaw View Post
Nice!

Now I am interested in how the Arduino will control it.
Do the OEM devices use an analog reference voltage input signal at an A-Gate terminal on the circuit board, from which the digital CP decides if any 'action' is to commence or not, based on internal look-up menus, and if so, the digital signal is processed into an analog voltage signal at the output gate, out to the motor, which, when de-energized, is spooled backwards under spring tension at the shutters? With 'fail-wide-open' safety protection?
__________________
Photobucket album: http://s1271.photobucket.com/albums/jj622/aerohead2/
  Reply With Quote
Old 03-21-2024, 04:04 PM   #4 (permalink)
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 685

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 150
Thanked 247 Times in 151 Posts
Quote:
Originally Posted by aerohead
which, when de-energized, is spooled backwards under spring tension at the shutters? With 'fail-wide-open' safety protection?
From what I have seen and read thus far, there does not seem to be fail-safe OPEN mechanism in current grille shutters. I could be wrong though...In their OEM state, all they do is throw a CEL code if there is an issue.

As it stands, there is no spring tension to accommodate a fail-OPEN state, as it would be difficult to use with a servo motor.


Quote:
Originally Posted by Piwoslaw View Post
Nice!

Now I am interested in how the Arduino will control it.
The arduino control code will evolve over time. For the time being, given my limited coding knowledge, it will be pretty basic.

I managed to integrate a micro switch to detect the shutter position. A 1602 LCD was also integrated to monitor the OPEN/SHUT status.

Things I want to integrate into the code, eventually :
  • Coolant temperature
  • Ambient temperature
  • Rain/Snow sensor

Below is the LCD display and microswitch in action.



Arduino Code :

PHP Code:
#include <Servo.h>
#include <ezButton.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27162);             // I2C address 0x27, 16 column and 2 rows

// constants 
const int BUTTON_PIN 7;                       // Arduino pin connected to button's pin
const int SERVO_PIN 9;                        // Arduino pin connected to servo motor's pin
const int LED_PIN 2;                          // green LED connected to digital pin 2
const int POS_SWITCH 4;
Servo servo;                                    // create servo object to control a servo

// variables 
int angle 0;                                  // the current angle of servo motor
int lastButtonState;                            // the previous state of button
int currentButtonState;                         // the current state of button
int val 0;                                    // variable to store the read value

void setup() {
  
  
Serial.begin(9600);                            // initialize serial
  
pinMode(BUTTON_PININPUT_PULLUP);             // set arduino pin to input pull-up mode
  
pinMode(LED_PINOUTPUT);
  
pinMode(POS_SWITCHINPUT);
  
servo.attach(SERVO_PIN);                       // attaches the servo on pin 9 to the servo object
  
servo.write(angle);
  
lcd.init();                                    // initialize the lcd
  
lcd.backlight();   

}

void loop() {

  
lastButtonState currentButtonState;                       // save the last state
  
currentButtonState digitalRead(BUTTON_PIN);               // read new state

  
if(lastButtonState == HIGH && currentButtonState == LOW) {
    
digitalWrite(LED_PINHIGH);                              // turn the LED on (HIGH is the voltage level)
    
delay(1000);                                              // wait for a second
    
digitalWrite(LED_PINLOW);                               // turn the LED off (LOW is the voltage level)
    
delay(500);                                               // wait for a 0.5 second

    // change angle of servo motor
    
if(angle == 0)
      
angle 90  ;
    else
    if(
angle == 90)
      
angle 0;

  
servo.write(angle);                                         // control servo motor arccoding to the angle
 
}
 
    
delay(1000);                                              // wait for a second
 
 
val digitalRead(POS_SWITCH);                               // read the input pin
  
if(val == HIGH){
    
lcd.clear();                                              // clear display
    
lcd.setCursor(00);                                      // move cursor to   (0, 0)
    
lcd.print(" GRILLE SHUTTER");                             // print message at (0, 0)
    
lcd.setCursor(21);                                      // move cursor to   (2, 1)
    
lcd.print("  [ SHUT ]");                                  // print message at (2, 1)
}
  else {
 
    
lcd.clear();                                              // clear display
    
lcd.setCursor(00);                                      // move cursor to   (0, 0)
    
lcd.print(" GRILLE SHUTTER");                             // print message at (0, 0)
    
lcd.setCursor(31);                                      // move cursor to   (2, 1)
    
lcd.print(" [ OPEN ]");                                   // print message at (2, 1)
                      
}


Cheers !
  Reply With Quote
The Following 3 Users Say Thank You to CigaR007 For This Useful Post:
aerohead (03-23-2024), Ijeeep (04-05-2024), Piwoslaw (03-22-2024)
Old 03-22-2024, 02:00 AM   #5 (permalink)
aero guerrilla
 
Piwoslaw's Avatar
 
Join Date: Oct 2008
Location: Warsaw, Poland
Posts: 3,700

Svietlana II - '13 Peugeot 308SW e-HDI 6sp
90 day: 58.1 mpg (US)
Thanks: 1,274
Thanked 731 Times in 464 Posts
Quote:
Originally Posted by CigaR007 View Post
Things I want to integrate into the code, eventually :
  • Coolant temperature
  • Ambient temperature
  • Rain/Snow sensor
I would add A/C on/off, so you have good air flow over its condenser.
__________________
e·co·mod·ding: the art of turning vehicles into what they should be

What matters is where you're going, not how fast.

"... we humans tend to screw up everything that's good enough as it is...or everything that we're attracted to, we love to go and defile it." - Chris Cornell


[Old] Piwoslaw's Peugeot 307sw modding thread
  Reply With Quote
The Following User Says Thank You to Piwoslaw For This Useful Post:
aerohead (03-23-2024)
Old 03-25-2024, 05:06 PM   #6 (permalink)
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 685

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 150
Thanked 247 Times in 151 Posts
Are there any downsides to tapping the sensors wiring ? I am inclined to tap near the PCM as to minimize any potential losses. The sensors are mainly outputting a 0-5Vdc, according to the wiring shematics and Honda service manual.
  Reply With Quote
Old 03-26-2024, 08:59 AM   #7 (permalink)
Somewhat crazed
 
Piotrsko's Avatar
 
Join Date: Sep 2013
Location: 1826 miles WSW of Normal
Posts: 4,061
Thanks: 467
Thanked 1,112 Times in 981 Posts
Input resistance of the arduino may or may not affect the original circuit. You won't know until you try it. I'm not fluent in arduino. Adding a very high impedance switch would have a negligable effect by using a mosfet as an isolator since the sense current would be very small.
__________________
casual notes from the underground:There are some "experts" out there that in reality don't have a clue as to what they are doing.
  Reply With Quote
The Following 2 Users Say Thank You to Piotrsko For This Useful Post:
CigaR007 (03-28-2024), Ijeeep (04-05-2024)
Old 03-28-2024, 06:47 PM   #8 (permalink)
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 685

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 150
Thanked 247 Times in 151 Posts
Work in progress

Quote:
Originally Posted by Piotrsko View Post
Input resistance of the arduino may or may not affect the original circuit.
Turns out that an input can be set to high-impedance; so it should be ok.

Cleaned up a bit of the wiring and made more permanent circuit board to accommodate the servo, LCD display and various switches.



The LCD now has a 3D-printed case, which will make it easier to mount on the centre console.

As it stands, it is a fully functional prototype.

  Reply With Quote
The Following 3 Users Say Thank You to CigaR007 For This Useful Post:
aerohead (04-01-2024), Ijeeep (04-05-2024), Piwoslaw (03-29-2024)
Old 03-31-2024, 05:50 PM   #9 (permalink)
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 685

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 150
Thanked 247 Times in 151 Posts
Making some progress on the arduino code.

Here is a summary of the code :

Button Press: If the button is pressed, the servo motor angle is adjusted based on the current angle (0, 45, 90 degrees).

Position Switch:
Reads the state of the position switch and displays a message on the LCD indicating whether the grille shutter is shut (0), half-open (45), or fully open (90).

Position Error Detection: Reads the state of the position error switch and displays an error message on the LCD if the position is between certain angles and the error switch is triggered

Fully manual for the time being. Sensor integration (coolant and ambient temperatures) will be done after the grille shutter has been installed on the car.

  Reply With Quote
The Following 2 Users Say Thank You to CigaR007 For This Useful Post:
aerohead (04-01-2024), Ijeeep (04-05-2024)
Old 04-07-2024, 05:08 PM   #10 (permalink)
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 685

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 150
Thanked 247 Times in 151 Posts
Cleaned up the wiring and made the permanent control panel.

I am using shielded cat5 cable as the main wiring harness. The wiring from the shutter grille will be custom-made as to make it more waterproof using special connectors.

The connections to the Control panel and board are made using a detachable screw-Terminal to RJ45 connector. Pretty handy for quickly disconnecting the cables and make the necessary changes or troubleshooting, if needed.



Control Panel using a blank housing plate from my CR-Z.






Next step is to work on the shutter grille and install more permanent components such as the waterproof limit switches and Servo motor.


Last edited by CigaR007; 04-08-2024 at 11:42 PM.. Reason: .
  Reply With Quote
Reply  Post New Thread






Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Content Relevant URLs by vBSEO 3.5.2
All content copyright EcoModder.com