Archive for May, 2009

Turbo things

http://www.pfranc.com/projects/turbine/duh.htm

http://www.ikalogic.com/d_tach.php

http://www.freemansgarage.com/tach.html

http://www.stefanv.com/electronics/tachometer.html

http://blog.makezine.com/archive/2007/09/arduinobased_optical_tach.html

http://www.instructables.com/id/Arduino-Based-Optical-Tachometer/

http://www.nicolas.benezan.de/Gasturbines/Turbocharger.html

http://www.nicolas.benezan.de/Gasturbines/SensorPickup.html

http://www.technologie-entwicklung.de/Gasturbines/gasturbines.html

http://www.technologie-entwicklung.de/Gasturbines/Balancing_Tool/balancing_tool.html

http://www.technologie-entwicklung.de/Gasturbines/Balancing_Tool/Available_Parts/available_parts.html

http://www.monstaka.com/F_frame.html?http://www.monstaka.com/

No Comments

GA16DE

<!– @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } –>

Nissan

Trouver embrayage costaux < 500 euros (ceramique jusqu’à 260 chevaux boite tres solide)

Pompe a essence de S15 (jusqu’à 330 CV)

Injecteur 340cc de S14 ou 440cc de S15

Turbo T20 a T25BB 600$

Watercooler (bas prix et tres efficace) avec sa pompe a eau electrique.

Radiateur d’eau d’une XM 3L ou equivalent

Tube de 1 inch pour l’eau passant 2 fois dans le compartiment, admission de diametre 2 inches et d’une longueur de 12 inches par 5 et par 5 (pour 270 HP). Peut etre aussi interessant d’avoir le dessus et dessous creux afin de passer de l’eau et mieux refroidir. Intercooler de voiture de petite taille. On rajouter 2 inch de long tous les 90 HP et on change le diametre de l’entree/sortie en fonction.

http://www.proecm.com/ic/icmain.htm

http://www.cats-direct-shop.co.uk/two-year-catalytic-converter.php?recordID=1463

http://cgi.ebay.co.uk/VOLVO-S40-1-9T-TD04L-14T-49377-06000-Turbocharger-Turbo_W0QQitemZ370197345364QQcmdZViewItemQQptZUK_CarsParts_Vehicles_CarParts_SM?hash=item56317b3454&_trksid=p4634.c0.m14.l1262&_trkparms=|301%3A1|293%3A1|294%3A30

http://cgi.ebay.co.uk/Mitsubishi-Lancer-CEDIA-4G93-GDI-TA-CS5W-Turbocharger_W0QQitemZ220410943796QQcmdZViewItemQQptZUK_CarsParts_Vehicles_CarParts_SM?hash=item3351841934&_trksid=p4634.c0.m14.l1262&_trkparms=|301%3A0|293%3A4|294%3A30

No Comments

Acquisition Moto

<!– @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } –>

Ecran LCD Hitachi avec plusieurs lignes ( ~ 20 euros ) besoin de 6 fils avec l’interface 4 bits, possibilite de descendre a 3 fils en utilisant un shift register (http://www.arduino.cc/playground/Code/LCD3wire)

Sauvegarder sur de l’USB (2Go ou 4Go ~ 10 a 15 euros)

http://www.arduino.cc/playground/Main/UsbMemory
http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=53&title=VDIP1

Le module coute 16 Euros

Sauvegarder sur du SD

http://www.sparkfun.com/commerce/product_info.php?products_id=8215

Le module coute 45$

Encore mieux, mais ca prend pas mal de place sur la flash….

http://www.roland-riegel.de/sd-reader/index.html

Mais ca prend trop de place il faut faire l’upgrade suivant

http://www.ladyada.net/library/arduino/upgrade.html

ou passer sur une sanguino

http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html

GPS ( 4 fils)

http://www.arduino.cc/playground/Tutorials/GPS

cout de ce gps assez eleve: http://www.parallax.com/Store/Sensors/CompassGPS/tabid/173/List/1/ProductID/396/Default.aspx?SortField=ProductName%2CProductName

90$

Dispo chez lextronic 75Euros la piece

Ou encore cette bete la chez lextronic

http://www.lextronic.fr/P4161-platine-gps-oem-gps-minimod.html

(80 euros)

Un GPS blutooth avec batterie incluse et son chargeur coute 50 euros…… chez rueducommerce avec un chip en Sirf3….

Un mini adapteur USB Blutooth coute 13 euros…

Ajouter 8 entrees ou sorties de/multiplexees pour l’analogique avec le

74HC4051 (0.25 Euro)

Il est necessaire d’avoir les 3 fils de commande et 1 entree/sortie analogique

Passer sur une carte Beagle Board avec un Arm Cortex, et faire de l’acquisition par les ports serie via USB sur plusieurs cartes filles. 150$ pour la carte beagle board, apres il faudra rajouter un gros hub usb. (Pas de reseau mais bon du ethernet, wifi ou blutooth facile avec les trucs du commerce et surtout du Linux avec les sorties videos)

Ou carement utiliser un netbook ou un petit portable… (225 euros sous Linux, c’est bien assez et en plus il y a l’ecran et l’application pour voir ce qui est fait), ca me paraît au moins faisable pour la voiture.

http://www.pobot.org/Codeur-incremental.html

Pour transformer un moteur pas a pas en codeur, peut etre utile pour utiliser une cremaillaire avec la suspension. Soucis pas precis a basse vitesse

http://spt06.chez-alice.fr/encodeur.htm

Encodeur optique haute resolution, trop complique.

Je prefererai me baser sur qq. Chose de simple une cremaillaire avec un roulement et une barriere infrarouge ou truc dans le genre, ca serait beaucoup plus simple….

Ou plutot recuperer une souris mecanique, recuperer les ir encoder et les monter sur roulement a bille…. delicat…. on tout simplement trouver une cremaillaire a passer devant ou equivalent.

Ou sinon plus simple encore capteur a effet hall qui coute environ 1,5 euros

http://www.eightlines.com/blog/2008/09/data-logging-to-the-arduino-eeprom/

http://www.scienceray.com/Technology/Engineering/The-Arduino-Board-Hall-Sensor.118114

No Comments

Liens moteurs

http://en.wikipedia.org/wiki/Engine_Balancing

http://www.autozine.org/technical_school/engine/smooth1.htm

http://dinamoto.it/DINAMOTO/on-line%20papers/twin%20motors/twin.html

http://bielles.free.fr/bielles-mecanique/piston.html

OBDII

http://icculus.org/obdgpslogger/

http://www.obdkey.com

WHEELS

http://www.osmoswheel.com/

OTHERS

http://www.rotorbike.com/nueva/ingles/infotecnica.htm

http://www.amn-nice.com/usinage-reparation.html

http://www.hotfrog.fr/Entreprises/Fonte-Azur

http://www.autofieldguide.com/articles/050302.html

http://www.wipo.int/pctdb/en/wo.jsp?IA=EP1999008808&wo=2000029732&DISPLAY=STATUS

http://www.sdsefi.com/techinta.htm

http://www.max-boost.co.uk/max-boost/resources/docs/electric%20turbocompound%20technology.pdf

No Comments

Liens fonderie

Pour le moulage

http://www.pascal-rosier.com

http://www.geant-beaux-arts.fr

Pour la fonderie

http://www.usinages.com/fonderie-f67.html

http://www.la-borne.com/fifta/index.htm

http://www.sulka.fr/fcp/

http://bobsmetalcasting.home.comcast.net/~bobsmetalcasting/lostfoam.html

http://www.theworkshop.ca/casting/foamcasting/foamcasting.htm

http://www.theworkshop.ca/casting/casting.htm

http://www.foundry-fopars.co.uk/

http://www.metalworker.eu/

Fourniture Sables, Résistance de Four …etc…

http://www.adampyrometrie.com/

http://www.solargil.com

Four à Gaz

http://vrcfr.site.voila.fr/four_roger/index.html

Autres

http://www.geocities.com/marcus_loignon/Home.html

http://www.hpceurope.com/vfrnw/index.php

http://www.astrosurf.com/astrolynx/mecano01.html

http://warbuddies.homestead.com/JimHciMainpage.html

http://pagesperso-orange.fr/jean-luc.soumard/index.htm

http://www.dmdaustralia.com.au/block.html

http://virtualindian.org/3techcasting.htm

http://www.saunalahti.fi/~animato/steam/

No Comments

Tiny Synchronous FileServer using Boost ASIO

This is a tiny example of use for Boost ASIO, here is the code for the server

/**
 * Author: Julien Boucaron <julien.boucaron@free.fr>
 *
 * A tiny example of use of Boost ASIO
 * to create a simple synchronous file_server
 *
 * Released under Boost License
 *
 */

#include <iostream>
#include <fstream>
#include <string>
#include <boost/asio.hpp>

using boost::asio::ip::tcp;

int main()
{
  try
  {
    const unsigned int port = 10000; //port the server listen
    const unsigned int buff_size = 16384; //size of the send buffer

    boost::asio::io_service io_service; //main asio object
    tcp::endpoint endpoint(tcp::v4(), port); //endpoint
    tcp::acceptor acceptor(io_service, endpoint);  //we accept connection there

    //server loop
    while(1) {
      tcp::socket socket(io_service);  //create a socket
      acceptor.accept(socket); //attach to the acceptor
      //we have got a new connection !
      std::cout << " Remote @:port  " << socket.remote_endpoint().address() << " : "
		<< socket.remote_endpoint().port() << std::endl;

      std::fstream file("file"); //we open this file

      char* buff = new char[buff_size]; //creating the buffer
      unsigned int count = 0; //counter
      std::cout << "Sending" << std::endl;
      while( !file.eof() ) { //loop until there is no more data to send
	memset(buff,0,buff_size); //cleanup the buffer
	file.read(buff,buff_size); //read some data 
	boost::system::error_code ignored_error;
	unsigned int len = file.gcount(); //get the effective number of bytes read
	boost::asio::write(socket, boost::asio::buffer(buff,len),
			   boost::asio::transfer_all(), ignored_error); //send
	count+=len; //increment counter
      }

      file.close(); //close file
      delete(buff);  //delete buffer
      std::cout << "Finished" << std::endl;
      std::cout << "Sent "  << count << " bytes" << std::endl;
    }

  }
  catch (std::exception& e)
  {
    std::cerr << e.what() << std::endl;
  }

  return 0;
}

Now, the code for the client

/**
 * Author: Julien Boucaron <julien.boucaron@free.fr>
 *
 * A tiny example of use of Boost ASIO
 * to create a simple synchronous file_client
 *
 * Released under Boost License
 *
 */

#include <iostream>
#include <string>
#include <fstream>
#include <boost/asio.hpp>

using boost::asio::ip::tcp;

int main(int argc, char* argv[])
{
  try
  {

    const char *port = "10000"; //the port we connect
    const unsigned int buff_size = 65536; //the size of the read buffer

    if (argc != 3)
    {
      std::cerr << "Usage: file_client <host> <filename>" << std::endl;
      return 1;
    }
    boost::asio::io_service io_service; //asio main object
    tcp::resolver resolver(io_service); //a resolver for name to @
    tcp::resolver::query query(argv[1], port); //ask the dns for this resolver
    tcp::resolver::iterator endpoint_iterator = resolver.resolve(query); //iterator if multiple answers for a given name
    tcp::resolver::iterator end;

    tcp::socket socket(io_service); //attach a socket to the main asio object
    socket.connect(*endpoint_iterator); //connect to the first returned object

    std::fstream f(argv[2],std::fstream::out); //open in write mode the output file
    unsigned int count = 0; //a counter
    while(1) { //loop until (see break after)
      boost::array<char, buff_size> buf; //create read buffer
      boost::system::error_code error; //in case of error
      size_t len = socket.read_some(boost::asio::buffer(buf), error); //read data
      std::cout << "Read " << len <<  std::endl;
      count += len;
      std::cout << "Read a total of " << count << " bytes " << std::endl;
      if (error == boost::asio::error::eof ) { //if end of file reached
	f.write(buf.data(),len); //finish write data
	f.close();   break; // Connection closed cleanly by peer.
      }
      else if (error) {
        throw boost::system::system_error(error); // Some other error.
      }
      else {
	f.write(buf.data(),len); //write some data 
      }
    }
  }
  catch (std::exception& e)
  {
    std::cout << "Exception: " << e.what() << std::endl;
  }

  return 0;
}

No Comments