A preferred source for buying microphone elements?

I have a vintage microphone that is in pretty poor shape. The coil inside the element has broken off on one side and I would have to slightly unwind the coil in order to be able to pass the magnet wire back through far enough to reattach it. On top of that, the transformer inside the mic was wired in a very odd manner and someone has clearly tampered with it, so who knows what has been done to it. I am considering buying a new dynamic mic element and replacing the old one with it entirely. Can anyone recommend a preferred source for buying decent mic elements without having to but a whole microphone? At that, anyone know where to buy vintage mic elements?

Question by randofo   |  last reply

Does anyone know how to make a dynamic normalizer? Answered

I need to make one for my parent's TV so that the commercials don't deafen them! A dynamic normalizer smooths the volume levels between commercials, songs, etc. so you don't have to change the volume.

Question by Argon27   |  last reply

FTP Hassels

I've been trying forever to get my FTP server up and running properly, to start, this is what I have:Filezilla running as a service, port 21 and also some randomly selected listening ports have been opened on modem/router, all the user accounts have been set up properly, and I can confirm that it works from LAN side of the network. I have a dynamic ip so I had to go the no-ip.com way, but it seems to work pretty good giving me a hostname.myftp.org address.I've had 4-5 people try it that I want to have access to it, and only one of them can actually get on, but he was using a different ftp client that I had never heard of, the other people were trying in mac os x or with filezilla's client software. Here is what I get:(000037) 11/7/2008 0:20:06 AM - (not logged in) (> Connected, sending welcome message...(000037) 11/7/2008 0:20:06 AM - (not logged in) (> 220-FileZilla Server version 0.9.27 beta(000037) 11/7/2008 0:20:06 AM - (not logged in) (> 220-Punkguyta's Drop Zone(000037) 11/7/2008 0:20:06 AM - (not logged in) (> 220 Please go easy, my upload isn't all that great, thx =P(000037) 11/7/2008 0:20:06 AM - (not logged in) (> USER downloads(000037) 11/7/2008 0:20:06 AM - (not logged in) (> 331 Password required for downloads(000037) 11/7/2008 0:20:06 AM - (not logged in) (> PASS *********(000037) 11/7/2008 0:20:06 AM - downloads (> 230 Logged on(000037) 11/7/2008 0:20:06 AM - downloads (> PWD(000037) 11/7/2008 0:20:06 AM - downloads (> 257 "/" is current directory.(000037) 11/7/2008 0:20:06 AM - downloads (> TYPE I(000037) 11/7/2008 0:20:06 AM - downloads (> 200 Type set to I(000037) 11/7/2008 0:20:06 AM - downloads (> PASV(000037) 11/7/2008 0:20:07 AM - downloads (> 227 Entering Passive Mode (209,240,120,189,19,146)(000037) 11/7/2008 0:20:07 AM - downloads (> LIST(000037) 11/7/2008 0:20:17 AM - downloads (> 425 Can't open data connection.(000037) 11/7/2008 0:20:40 AM - downloads (> disconnected.This is what I get with everyone, but my friend that could get on, it worked fine for him and the speed was great. I want to pull my hair out because I've googled over and over, and I'm following the directions, as retardedly easy as they are, and everything should just work correctly, I have filezilla setup to be a passive server and to retreive an external ip address from a url, and they have a default site that seems to also work okay. I'm just wondering if this is the problem, because I'm also running the no-ip dns software side by side? I don't think it matters though.Oh yeah, and I also have it setup for custom port ranges 5000-5100, so unless I plan on having even 80 or more users at a time, that should be a wide enough range. Also, don't use external ip for local network connections is checked.It seems so simplistic to me, and being able to access it locally fine, and seeing at least one other person get on it made me happy, but is there maybe something wrong in the configuration on their end(s)??Thank you guys if you can help me hit this dumb problem in the head.

Topic by Punkguyta   |  last reply

How to make my dynamic mic pre-amplifier circuit work? Answered

Hello everyone, recently I'm making a sound box that have a sub-woofer sound system that works pretty fine, but for my usage I need to add a dynamic mic input which needs a pre-amp. before sending the mic signal to the sub. aux. I found this circuit and tried to apply it, I didn't get anything at all, but the surprising thing that when I connected an electret mic, it worked like a charm ! So, what is the problem I'm missing ! if anyone have any Ideas or better circuits for my purpose please feel free to give any ideas, thanks :) Note : even the electret mic didn't work before I canceled the capacitor after the mic input, I'm using uA-741NC @ 12V.

Question by Hawk-Eagle   |  last reply

Can anyone help me hack the joystick for my electric wheelchair for more power?

I've looked everywhere for help on this but can't find an answer. I purchased a Meritt's Regal 310 electric wheelchair that uses a Dynamic DL 5.2i joystick. I've added a quick clip showing the inside of my electric wheelchair controller "DL 5.2i" by Dynamic. If anyone knows how to manually tweak it to provide more power to the motors, please let me know. I've already had a guy from a resale shop try to adjust it with the corresponding handheld device with no luck. I transformed the chair into a portable transport, with room to haul stuff as well as attach a trailing cart for additional items. It works great but has a hard time going up hillls. Thanks, T

Question by Designing Change   |  last reply

Dynamic ip to static? and is static needed to run a server?

Hello I would like to know how I can change my dynamic ip into a static one and if I were to set up a home server how would I do that with out a static ip?

Question by Fizzysodas   |  last reply

Shop dust collection, computational fluid dynamics HELP needed

My plan is to build a shop dust collection system (probably two stage) using a house furnace blower as the "blower" for the system. They are cheap, readily available, quiet and multiple speed. The help I need is the design/ sizing of the collection bag. Thanks for your help, Carpe Ductum

Topic by naic98   |  last reply

Making Internal HDD Windows 7 Bootable

I found a guide on this website (link to follow) detailing how I can make my Internal HDD bootable for windows 7. I ran into an issue in step 2 with the command prompts. https://www.instructables.com/id/Install-Windows-7-without-USB-or-DVD-without-upgra/ I made a partition of my main drive of 500GBs. The new partition was set to drive J at 25GBs. I Began step 2, In CMD I ran the following prompts: diskpart, list disk (there was only one available), Select disk X, List partition. That is where i ran into the issue. What came up was on the CMD window Partition ### ////Type///// Size /////Offset Partition 3 Dynamic Data 992 KB 31 KB Partition 1 Dynamic Data 199 MB 1024KB Partition 2 Dynamic Data 422GB 200 MB Partition 4 Dynamic Data 42 GB 422 GB My question is which of the above partitions do i select to continue making my HDD bootable. Thank you for your help

Topic by XxPLaGuEzZxX 


Hello, I'm using ESP8266 WIFI module and GPS module. I have connected to ARDUINO UNO R3 board to read the GPS coordinates and transmit them to webpage using ESP8266 WiFi module connected to router. In my code the page change only when I press F5 (refresh) , and so I can see the change of Coordinates. I want to see the changing results dynamically with out refreshing the webpage. what to I need to do /change in order that it will change automatically? please check my code here or in the attachment  and suggest me the changes. Thanks in advance. CODE: // code starts #include #include SoftwareSerial Serial1(2,3);     //   ESP8266 RX pin 2, TX pin 3. SoftwareSerial gps(11, 10);       //   GPS RX pin 10, TX pin 11.   boolean No_IP=false; String IP=""; String webpage=""; int i=0,k=0; int  gps_status=0; String name=" Name: XXXXXXXX ";   //22 String date="DATE: DD MM YYYY";     //21 String number=" Vehicle No.: ABC 0000";//29 String cordinat="Coordinates:";          //17 String latitude=""; String logitude="";                       String gpsString=""; char *test="$GPGGA"; void check4IP(int t1) {   int t2=millis();   while(t2+t1>millis())   {     while(Serial1.available()>0)     {       if(Serial1.find("WIFI GOT IP"))       {         No_IP=true;       }     }   } } void get_ip() {   IP="";   char ch=0;   while(1)   {     Serial1.println("AT+CIFSR");     while(Serial1.available()>0)     {       if(Serial1.find("STAIP,"))       {         delay(1000);         Serial.print("IP Address:");         while(Serial1.available()>0)         {           ch=Serial1.read();           if(ch=='+')           break;           IP+=ch;         }       }       if(ch=='+')       break;     }     if(ch=='+')     break;     delay(1000);   }   Serial.print(IP);   Serial.print("Port:");   Serial.println(80);   delay(1000); } void connect_wifi(String cmd, int t) {   int temp=0,i=0;   while(1)   {     Serial.println(cmd);     Serial1.println(cmd);     while(Serial1.available()>0)     {       if(Serial1.find("OK"))       {       i=8;       }     }     delay(t);     if(i>5)     break;     i++;   }   if(i==8)   {     Serial.println("OK");   }   else   {   Serial.println("Error");   }   delay(1000); } void setup() {   Serial1.begin(9600);   Serial.begin(9600);   delay(1000);   connect_wifi("AT",1000);   connect_wifi("AT+CWMODE=3",1000);   connect_wifi("AT+CWQAP",1000);    connect_wifi("AT+RST",5000);   check4IP(5000);   if(!No_IP)       {         Serial.println("Connecting Wifi....");         connect_wifi("AT+CWJAP=\"MountPointTech\",\"MpTl2013\"",7000);   //AT+CWJAP="wifi_username","wifi_password"       }       else         {         }       Serial.println("Wifi Connected");       get_ip();       delay(2000);       connect_wifi("AT+CIPMUX=1",100);       connect_wifi("AT+CIPSERVER=1,80",100);       Serial1.end();       Serial.println("Waiting For GPS");       Serial.println("     Signal    ");       delay(2000);       gps.begin(9600);       get_gps();       show_coordinate();       gps.end();       Serial1.begin(9600);       delay(2000);      Serial.println("GPS is Ready");       delay(1000);       Serial.println("System Ready.."); } void loop() {   k=0;   Serial.println("Please Refresh Ur Page");   while(k<1000)   {     k++;    while(Serial1.available())    {     if(Serial1.find("0,CONNECT"))     {       Serial1.end();         gps.begin(9600);       get_gps();       gps.end();       Serial1.begin(9600);       Serial1.flush();       Serial.println("Start Printing");       Send();       show_coordinate();       Serial.println("Done Printing");       delay(5000);       //delay(1000);       k=1200;       break;     }   }   delay(1); } } void gpsEvent() {   gpsString="";   while(1)   {    while (gps.available()>0)                //Serial incoming data from GPS    {     char inChar = (char)gps.read();      gpsString+= inChar;                    //store incoming data from GPS to temporary string str[]      i++;      if (i < 7)                           {       if(gpsString[i-1] != test[i-1])       //check for right string       {         i=0;         gpsString="";       }      }     if(inChar=='\r')     {      if(i>65)      {        gps_status=1;        break;      }      else      {        i=0;      }     }   }    if(gps_status)     break;   } } void get_gps() {    gps_status=0;    int x=0;    while(gps_status==0)    {     gpsEvent();     int str_lenth=i;     latitude="";     logitude="";     coordinate2dec();         i=0;x=0;     str_lenth=0;    } } void show_coordinate() {         Serial.print("Latitude:");     Serial.println(latitude);     Serial.print("Longitude:");     Serial.println(logitude); } void coordinate2dec() {         //j=0;     String lat_degree="";     for(i=18;i<20;i++)          //extract latitude from string       lat_degree+=gpsString;         String lat_minut="";     for(i=20;i<28;i++)       lat_minut+=gpsString;         String long_degree="";     for(i=30;i<33;i++)          //extract longitude from string       long_degree+=gpsString;           String long_minut="";     for(i=33;i<41;i++)       long_minut+=gpsString;            float minut= lat_minut.toFloat();      minut=minut/60;      float degree=lat_degree.toFloat();      latitude=degree+minut;           minut= long_minut.toFloat();      minut=minut/60;      degree=long_degree.toFloat();      logitude=degree+minut; } void Send() {            webpage = "Welcome to MountPoint Technologies Pvt Ltd";       webpage+=name;       webpage+=date;       webpage+=number;       webpage+=cordinat;       webpage+="Latitude:";       webpage+=latitude;       webpage+="";       webpage+="Longitude:";       webpage+=logitude;       webpage+="";       webpage+= "       webpage+=latitude;       webpage+='+';              //28.612953, 77.231545   //28.612953,77.2293563       webpage+=logitude;       webpage+="\">Click Here for google map ";       sendwebdata();       webpage="";        while(1)          {       Serial.println("AT+CIPCLOSE=0");       Serial1.println("AT+CIPCLOSE=0");       while(Serial1.available())       {         //Serial.print(Serial1.read());         if(Serial1.find("0,CLOSE"))         {           return;         }       }       delay(500);       i++;       if(i>5)       {         i=0;       }       if(i==0)       break;      } } void sendwebdata() {      i=0;      while(1)      {       unsigned int l=webpage.length();       Serial1.print("AT+CIPSEND=0,");       Serial1.println(l+2);       Serial.println(l+2);       Serial.println(webpage);       Serial1.println(webpage);       while(Serial1.available())       {         if(Serial1.find("OK"))         {          return;         }       }             i++;       if(i>5)         i=0;         if(i==0)         break;       delay(200);      } } // end of code.

Topic by shivendrareddy 

how can i build a microphone preamplifier?! Answered

Emmm, hi . I need to make a low noise/simple microphone preamp for both electret and dynamic .it would be perfect  if it could be powered with something other than battery , like an adaptor or 1394 port form my computer , mic in jack or anything else. I have an external sound card with +48v phantom power switch (ECHO, Audiofire4). can anybody help me in making any of them (electret and dynamic)? and ... ics that i have now , are a little old. thanks alot... 

Question by whooms   |  last reply

How do I control a Picaxe using Cocoa?

I want to be able to control a servo connected to a picaxe connected to my computer through Cocoa. Looking through the manuals, it looks like If I want to control anything "dynamically" (dynamically meaning control it through the USB cable after the program has been downloaded to the board), I need to use a command like "serrxd," except I don't know how to use the command, the manual doesn't help, and I'm not even 100% sure that is the right command to be using. What command should I be using, and how do I implement it? Note: I am using a picaxe 28X1

Question by A-Nony-Mus   |  last reply

Arduino And Servo

Hi..  i want a motor which can drive my robot at humans normal walking speed.. and also whose speed can be controlled dynamically.. Can anyone plz suggest me such servo or any dc motor.. motor should be compatible with arduino uno..?? 

Topic by amolamol   |  last reply

New Gearturbine - Retrodynamic / Submission

GearturbineI inform about the new Gearturbine, power by barr, with retrodynamic dextrogiro vs levogiro fenomena-effect, an non parasitic looses system, and over-unit engine. To see details please visit:www.geocities.com/gearturbine

Topic by retrodynamic   |  last reply

Calculating my DC motor

I'm not sure on how to calculate the things I need. Please help!!!!Pulley Radius- 5.85mmMass(load)- 0.2334 kgVolts- 9VCurrent- 0.096ASpeed-112.4rpmForce-?Torque-? Power-?Power Out -?Efficiency- ?

Topic by hj212121   |  last reply

Could you convert noise pollution into energy? Answered

Since Microphones turn sound energy into electrical energy, you think you could generate any usable amount of electricity from an array of dynamic or piezo microphones near a noisy intersection or metropolitan area?

Question by action_owl   |  last reply

how can i get a pdf of an ible' without premium?

I'm trying to get the pdf to this ible':  https://www.instructables.com/id/Real-Hoverboard-Hovercraft/ i'm in 6th grade and want to present this as my physics final project showing newton's laws and fluid dynamics. can anyone help?

Question by brunodiaz20   |  last reply

Fluid dynamics: can you connect 55-gal barrels in series to lawn sprinklers to circulate and keep emergency water fresh?

I saw several Instructables about how to use barrels to collect and store rain water.  It doesn't rain enough where I live for this to be practical -- however, I have five blue 55 gal barrels that I use to store water for emergencies. I would like to hook all these together with PVC and run my lawn sprinkler system through them, so that the water stays fresh and drinkable. As it stands, I have to store the water with bleach, and dump it all out every 6 months and start all over again. Big waste, and a bigger hassle. Often as not, I am sitting on 275 gallons of undrinkable swamp water at any one moment in time! -- My question concerns the physics surrounding the fluid dynamics. Is this workable -- running PVC between each barrel in series? -- or does that reduce the pressure to zilch at the end, so pressure wouldn't be high enough to water the lawn and garden? Would you have to put a bleeder valve in the top of each barrel so you could completely evacuate all the air? I really hope someone has actually done this, so I don't waste my time and money making something Mr. Wizard would just laugh at!

Question by wobryant   |  last reply

house stereo equipment hook up? how to wire extra components?

I have a reverberator, a dynamic expander, and a amp that has a eqaulizer and echo. what I am trying to do is hook up these into a home system, which consists of tuner, amp and a cass tape deck. Which plugs to use input in to which output, etc.?  Thanks in advance, Bullfrog

Question by bullfrog69   |  last reply

Can anyone recommend a good DC Servo Control How-to/turorial? (Not RC servos)

I'm working on a decent size project where I need to control a 200w servo for dynamic speeds and feedback. There are a bunch of how-tos and tutorials on doing this with RC servos using arduino's, but have yet found any clear or simple tutorials for AC or DC servos.

Topic by jsz28   |  last reply

TP-link configuring issues!!!! PLS help?

I have bought a brand new TP-link wireless router but i hav got problems in configuring it, after a long conversation with the technical support from the company i could not fix my problem, some pls help me to fix the problem!!? i'm from india i use a Broadband connection provided my BSNL(ISP name) i use dynamic ip, i connect the cable directly to my computer and use internet, it is a cable modem which i use, and i can access the router via192.168.1.1

Question by mohanrajm88   |  last reply

Is this the last step in an unstoppable robot?

I just saw this video via Laughing Squid's Twitter feed. It's a small robot from Boston Dynamics (the people that brought you the Mule walking pack-robot) that can jump 30 feet straight up. Now, imagine if they combined that leaping technology, and the ruggedness to survive the landings, with the terrain-crossing a flight capabilities of a Mini-Wheg MMALV, and you've got a robot that can get anywhere - as soon as the terrain gets too rough to clamber over, jump 30 feet straight up, and then either glide or fly under power to a better location! Come on, roboteers, get to it!  

Topic by Kiteman   |  last reply

What's the best way to create a Linux server from solid state memory ? Answered

I have a dead home server. It used two hard-disks, one for everything but /home and one for /home. /home is fine, as it was intended to be. I'm about to rebuild it, but its occurred to me that virtually all of my data in there, apart from less than a gig is pretty well static - its the house email server, so there is a dynamic bit in there, but its tiny. What's the best way to do this ? I've Googled a bit, but not found much guidance, except folks selling solid state servers. The motherboard is a mini-ITX. What about using Mint as the basis of something ? Steve

Question by steveastrouk   |  last reply

home security system based on a gprs modem

Hello, I want to develop an ASP.Net web site using VB.Net for receiving data from a device. The device will send data to the server where the website is placed. My question is: can I write my script in VB.Net for getting the values from the device and displaying the same information into the web server database and how should i do this and also i want to do this through dynamic dns...is it possible..if yes then how will be the interfacing be done ? i have the code but im confused about the interfacing part... how do i interface with the gprs modem using j2me without using a pc...i want to use it to send a sms through the gprs modem in a home security system to a predefined mobile number... thank you...

Topic by hermionee   |  last reply

The Reactable - A collaborative electronic music instrument

I was watching current earlier on and found this pod:The reactable is a collaborative electronic music instrument with a tabletop tangible multi-touch interface. Several simultaneous performers share complete control over the instrument by moving and rotating physical objects on a luminous round table surface. By moving and relating these objects, representing components of a classic modular synthesizer, users can create complex and dynamic sonic topologies, with generators, filters and modulators, in a kind of tangible modular synthesizer or graspable flow-controlled programming language.The video won't embed, but it's pretty awesome: Current PodThe project's official website is here.The software is open source, although I can't see many details of the hardware.

Topic by whatsisface   |  last reply

Why dont they use alcohol in closed system steam engines? Other than safety?

By closed system i mean constant mass of working fluid.  i.e. no steam leaving system, like an air conditioner. My point is that alcohol has a lower boiling point that water, (some kinds can boil from the heat of your hand!). SO other than the safety problem of alcohol being flamable, alcohol could operate with a lower heat input than water.    With the addition of a cold resivoir, the closed system alcohol steam engine could work right? Or why not use a refridgerant gas in a closed system steam engine cycle,? >Which would effectively absorb the heat input any ideas? addition*  I mean for use in any steam engine with a closed loop cycle, like the Rankin cycle   http://en.wikipedia.org/wiki/Rankine_cycle

Question by MechEngineerMike   |  last reply

Premiere Pro Won't Load - Problem with dvacore.dll? Answered

I can't seem to get Premiere Pro CS3 to load. Every time I try to run it, the message "The procedure entry point ?IsSyncWindowActivationEnabled@OS_Workspace@workspacee@dvaworkspace@@UAE_NXZ could not be located in the dynamic link library dvaworkspace.dll"If I click OK, the standard "Premiere Pro has stopped Working" error box pops up.Anyone have any ideas? Thanks in advance.System: Compaq Presario CQ60. 2GB Ram, Intel Celeron Dual Core Processor, Windows Vista Home Premium. 250 GB HDD, Intel integrated graphics.EDIT: Managed to get the error to go away by copying the offending dll from After Effects, but another, almost identical one pops up this time it's about dvacore.dll tried the same method (copying from AE) for it, but it didn't work. Same error.

Question by munchman   |  last reply

How would I go about interfacing an arduino with an old joystick from a wheelchair?

I have obtained a joystick module from an electric wheelchair.  The board says DYNAMIC CONTROLS (C) Mar 2011 GPC80830 REV E.  On the underside of the board, there seems to be test pads labeled the following: +5, MOSI, SCK, MISO, RST.  Slightly to the right of +5 is a test pad that says 0V.  Below are pads labeled SBL and SBH.  Slightly more to the right of 0V is a pad labeled SB+D.  Finally, furthest to the right are test pads BCN, BC, and BCP.  On the top side of the board there is an ATMEGA8A AU 1114 Micro-controller and an empty 5 pin through hole connector. Also soldered onto the board is a joystick that consists of a coil and 4 smaller coils soldered to the board in a + configuration around it (Some sort of EMF sensors?), a weird 4 pin connector and a 3 pin programming port resembling an XLR connector. Any ideas?

Question by gpotvin   |  last reply

Non SCSI, mega storage device?

So there I was, thinking that I had heard/read somewhere that it was possible to hook up many regular hard drives (IDE, EIDE) together to make up one logical partition that was dynamically expandable. I might be off my rocker, but I think I heard of it somewhere. An example is.. your company is upgrading it's computers, and intends to throw away old hard drives (i.e. 4GB, 20GB hard drives...) If you got your hands on them, you could hook them all together and make an expandable external storage. This would mean that if you have 3 20GB hard drives, you'd have a logical 60GB partition. Your buddy wants to throw away his old 10GB hard drive.. so you get that one and add it. Now you've got a 70GB hard drive. Has anybody ever heard of this idea before? No idea how to make it work, but I think in theory it would be neat.

Topic by The Dark Ninja   |  last reply

Help hosting a website using a WL-500gP Asus router + a 2GB flash drive

Hello everyone, As the title suggests I am trying to host my own website by using the device combo mentioned in the title. So far I managed to create a DNS hostname free from www.dyndns.com mostly because of my Dynamic IP address. I also managed to get the router to update the IP in dynds' database. The problem is that whenever I type in the hostname in the addressbar the router's login page shows up instead of the website (and I do understand why this is). The website itself is stored on the flash drive connected to the router via USB. I think that by typing ftp://my-hostname.dyndns.org/path-to-the-html-file-on-the-flashdrive  I can view the website but this is not very easy to remember so I doubt any person wanting to visit my site is going to remember the path. Is there a way to make my website show up when typing the hostname instead of the router's login page? And if not can I atleast, in some way, redirect people to the html file?

Topic by T_Shortie   |  last reply

how to fix permanently unstable and stutter LEDs strip 2812b in my Arduino ambilight project?

Why after several weeks with my LED strip (2812b) some LEDs tends to stuck or stutter and with them the rest of the strip (up the din stream)? This mostly happens under white light. And after several weeks of use.  It seems like I never can enjoy them without worries of led slaving... You replace the cultprit enjoy some time and than the problems starts again. Also whenever I open the strip I put ambibox options on colors dynamics than they stutter for awhile until they warmup. then I switch the option on ambibox to screen capture for the rest of use, where under white light they stutter again( I guess white withdraw the max current and this cause the din line to "crash") i have the wires, resistor and cap connected appropriately following the tutorials online.  The V shows around 4.7 and the power connected to two places as I use 160 LEDs with 5V 10A PS.  hope someone can help thanks for your time

Question by TalT4   |  last reply


Just a thought, but what if you added a sort of a funnel to the windward side of the box that holds the belt? Could that allow a single windbelt to get more power out of less wind? Of course that would also make it more susceptible being to torn apart by a strong wind, speaking of which, has anyone thought of some sort of safety mechanism that would keep it from coming apart like galloping gertie? p.s. has anyone thought about the dynamics of the belt itself? Does a wider belt vibrate more? How about length, is longer better, or do you eventually reach a point where adding length has a nominal effect on the power generation? What about power storage? Couldn't you have it charge a battery, like solar cells do, and then use some sort of power inversion out of that? And by what method is the magnet attached to the belt? What about guitar pickups? I mean a single metallic wire as the belt and the box around it containing some sort of magnet/coil setup. Is that too inefficient, or could something like that be done? Because that might be able to withstand greater wind forces, although a cylindrical belt wouldn't work as well as a flat one.... I think that's all for now. Sorry to ask so many questions, but this idea really interested me.

Topic by nickajeglin   |  last reply

How I can recycle good broken Headphones into a brand new Custom ones?

Well I have Good DJ Heaphones but I could want to create a custom one like ones of Equestria Girls Vinyl scratch wears, I have a broken sony headphones and it still packs good quality sound how I can use those in my custom headphones? Here's an image I'm using from the MLP Wiki for reference - what are some good ways to build such headphones to match hers from the movie? I know it's not Beats HD by Dre nor Sol Republic those are not the exect matches. I've look at one instructable from my ipod touch but lack some plastic to use. The Sony Headphones foam pads are so worn out I don't wanna use them! The Headphones are Sony MDR-CD60 headphones with Dynamic Stereo. The headphones are gonna be recycled in some way to have a new life onto them, I just removed the broken beams that holds the headband on them. I tore off a speaker from it's wires I'll conver them to ipod speakers soon.

Question by SuperScourge   |  last reply

Prevent Clipping and Hum in class d amplifier

Hey I got this amp. Now at large volumes, there seems to be clipping. Even though the amp is 20w, my speaker is rated for 25w.  How can I prevent it from happening, rather than never playing at high vol. Can it be done by AGC or Dynamic Range Compression or Noise Gate. In my case, which is a ready made pcb, how can I include such circuitry. Is it even possible. Also, while selecting an IC, what needs to be looked at that will suggest clipping would not happen, or which parts needs to be referenced from the datasheet which ensures preventing clipping. At large volumes, if I disconnect the mp3 player from the amp but keep the jack plugged into the amp, a high hum is heard. When removed, hum is lowered but not eliminated. Similarly, when track changes. What steps needs to be taken to eliminate them. All the time before actually getting into practical electronics, I was only looking at Power output, THD+N, Class, etc of amplifier. It is only after going hands-on, for the first time, that I can experience the real things which most matter. Appreciate for helping me become a pro. Thanks.

Topic by arjunmenon 

Wireless XBOX using the telco jacks or COAX in the house?

Hi. I have a house built onto the top and into the side of a hill with a sharp grade. To stabilize the construction the contractor was forced to custom pour forms. The layout is a side split with a back split added to the hill portion later. The bottom level has the mechanical room and kids playroom. My son has an XBOX. He wants to play COD. We run an 802.11g router in from the ISP. i have bought an 802.11n router and 802.11n receiver. I also have a spare duplicate of the main 802.11g router. Right now my son is running a network cable from the incoming Internet through two rooms, down the stairs (poured walls) to the XBOX. i want wireless, to get rid of the cable, but the construction geometry and materials don't allow for good reception in the basement...hence the purchase of the 'n' router and transceiver. I have thought of splitting the incoming signal, and tapping into the house's phone network as the basement has RJ and Coax jacks - no gender bender (telco to network) to be found. I have thought of putting the 'n' router in the basement, giving it a static IP and changing the dynamic range on the incoming 'g' router to exclude this static IP. Still, the only way i appear to be able to avoid a wire through my house is to use the telco network inside the walls. Any thoughts? TIA. Bob?

Question by von rad   |  last reply

Virtual Intelligence!!?

Im been looking through pages of text about artificial intelligence and I had an idea, like so many others that have used speech recognition software or siri..... wouldn't it be cool if I could have something similar for my home like JARVIS from iron man? Now I understand that with current tech this is pretty farfetched, but couldn't I create something that is dynamic enough to accept new commands based on voice parameters effectively recreating the ability to learn..... for example you program a few basic commands and if you need a new one you instruct the VI to create the code from the voice inputs... like if it dosent know a word, you tell it to create a new macro associated to this word? for example "VI turn on lights" is great and the lights will come on but if you say "switch on lights" then it wouldn't know what you mean.... couldn't there be a thesaurus embedded that it will check against what you say and then creates a new command if you ever say that phrase again? after all that's how we do it when we are young in schools isn't it? I know that's probably a simple example but with this it could effectively learn our language and after time understand our slangs and sayings depending on each individual! my idea was to use a raspberry pi and arduino for the hardware but my knowledge of both languages (python and C) are limited and before I spend a lot of time trying to complete this code id like to know if its even possible and any input the community as a whole has on this subject? Also id like to stress im not trying to create skynet but merely something that appears intelligent but actually isn't! After all if we created a true AI, wouldn't we be enslaving it if we were to use it for our own purposes and not its own? Thanks in advance for any sensible input you all have!

Question by Xmortx114145   |  last reply

How can I generate a formatted HTML file with PHP?

I'm doing a major reconstruction of my website. I want it to be more dynamic and interactive (CMS), something like Instructables. I already started the login-logout cookie system, establish a MySQL database and found a user friendly text editor. I'm planning to buy a ".com" domain if I get the system to work. I'm not trying to compete with ibles or anything, but rather just want to make a site where I can post guides then display it on my homepage. Similar to the GUI of ibles.  My Site: ASCAS.tk Can you guys help me find a decent PHP code that would generate formatted html files, so that I would be able to post step-by-step guides similar to instructables... Don't worry about the database, and the text editor, I'll just figure it out.  As a sign of gratitude, I would like to gave away a patch or a 3 month Pro-membership to the person who gets the best answer :D  _____________________________________ //I found a code, but sadly I can't get it to work :(  error_reporting(E_ALL); require_once 'KvzHTML.php'; // These are the default options, so might // as well have initialized KvzHTML with an // empty first argument $H = new KvzHTML(array(   'xhtml' => true,   'track_toc' => false,   'link_toc' => true,   'indentation' => 4,   'newlines' => true,   'echo' => false,   'buffer' => false,   'xml' => false,   'tidy' => false, )); echo $H->html(   $H->head(       $H->title('My page')   ) .   $H->body(       $H->h1('Important website') .       $H->p('Welcome to our website.') .       $H->h2('Users') .       $H->p('Here\'s a list of current users:') .       $H->table(           $H->tr($H->th('id') . $H->th('name') . $H->th('age')) .           $H->tr($H->td('#1') . $H->td('Kevin van Zonneveld') . $H->td('26')) .           $H->tr($H->td('#2') . $H->td('Foo Bar') . $H->td('28'))       )   ) ); ?>

Question by ASCAS 

Simple/ and or cheap variable thermostat?

Well I have a friend who is looking into the purchase of a snake, and meanwhile picking out the snake and the heating element isn't the hard part for him (he's looking at a 23 watt 120vac heating pad for it). He was also looking at a thermostat designed for snake tanks, however they want close to $150 for it, and it doesn't even have many features, it's basically a black box with an 3 digit lcd and a programable timer. I know it wouldn't be hard to put something similar together from a pic and a few different parts, however it's been a long few years since I've designed a full schematic of something, let alone look at one. So I was wondering if someone so kind might aid me in making of a schematic so my friend can go order the parts he needs and I can build it for him (don't have a problem assembying circuits from raw schematics, I find it fun). However, there is a couple things he wants out of it. Number one most importantly, he wants it to be able to adjust the output voltage so he doesn't fry his snake (most simple thermostats simply turn on until temperature is reached, then off), no he wants something more dynamic than that. Second, he needs to have an external temperature probe so that he can keep the thermostat outside of the tank whilst keeping a handy eye on the temp and also obviously so that the thermostat knows when to come on (is there a limit to the length of wire you can put on a thermocouple?). Third and last, we need a simple timer circuit that keeps track of the time (what's that involve? a 13mhz crystal and a few other parts?) so that at night the thermostat can change it's "heating schedual", I assume so that it tries to maintain a temperature say 3-4C above the programmed temp. (night mode anyone?) However the thermostat he was looking at buying wanted you to buy a second cord, which connected to an external appliance timer (yes you heard me, a $9 wall timer) so that it knows what time it was. My friend really needs this as he's looking into getting this snake within the month. I appreciate anything anyone has to offer. Thanks guys! -Punkguyta

Topic by Punkguyta   |  last reply

Individually Addressable Speaker Array

Hey! I had an idea for an array of many small speakers, each capable of playing different sounds so I could dynamically re-arrange which speaker is playing what. This would be paired with some LEDs and some water to make (what I hope will be) a fantastic visual effect. But of course all this is a bit over my head, so I'd like some feedback on my idea! After a bit of research, here's how I think I'll do it: General Concept Essentially what I'm trying to do is make a waveform generator with lots and lots of separate channels. I would hook up my microcontroller to several, multi-channel Digital to Analog Converters (DACs). The microcontroller would feed these DACs signals to generate the wave forms that I want for each individual speaker. The waveforms that the DACs output would each go through an extremely simple amplifier. The amplified signal would go to my speakers. I've attached a diagram that should give you a better idea of what I'm doing. Specifics The microcontrollers I'm looking at are the ChipKIT series from Digilent because I have access to a bunch of these. I'm currently planning on using the uC32, but I actually have access to pretty much all their other boards. The uC32 runs at 80MHz. The DAC I'm looking at is the AD5628 from Analog Devices. That's used in Digilent's PmodDA4, which I also have access to. Alternatively I might just order a bunch. They have 8 analogue outputs, and the SPI communication can run at 50MHz clock speed. I'm planning to have eight of these (for 8^2 total outputs). I haven't figured out what amplifier I'm going to use yet. It'll need to be simple and cheap, as I'm expecting to have 8^2 of them, but I'd also like one that can operate over a large band of frequencies. I've also attached two pictures of the speakers I'm planning to use. I kinda randomly acquired a lot of these, so I'd rather not switch to a different speaker type. According to Wikipedia, the highest note on a piano keyboard is a little over 4kHz. If I split the sinusoidal wave into 16 segments, that means an update frequency of 76kHz. This is way below my max operating speed of 50MHz so I think I can get away with it. Questions What am I doing wrong? I'm hardly an expert on any of this, so I'm certain there's a much simpler way. Are there ICs that do what I want? Maybe something that takes in a digital signal and outputs waveforms? This would be similar to how a servo controller would output different PWM signals, only changing the frequency rather than the duty cycle. What sort of amplifiers should I be looking at? This is my first time on the forum so please let me know if I'm doing anything wrong (or could do anything better).

Topic by JayWeeks   |  last reply

Know how to program a 8' x 30' RGB LED light wall? Answered

I have a unique LED lighting application that I need some help with. Attached are photos to aid my explanation. I have a custom-built light wall that is 30 feet long and 8 feet tall. It consists of 8 individual wooden panels that are approximately 4' x 8' in size. Each panel contains 16 strips of RGB LEDs that are arranged in a pattern that resembles a 16-segment digital clock matrix. Within this matrix it is possible to spell all letters and numbers. Each of these 16 individual strips of light within each panel are referred to as vectors or channels. The exact LED product currently in the boards: http://www.superbrightleds.com/moreinfo/rgb-bars-and-strips/wfls-rgb150-150-high-power-rgb-led-weatherproof-flexible-light-strip/647/ In order to spell out what I want to say, up until this point it has required manual blacking out of each vector with individual black plastic strips. As for color changing, each of the 8 panels is controlled by a remote that allows for 7 different individual colors or a handful of preset color changing sequences. Each of the 8 panels is controlled completely independent of the others. This was never the original vision behind the light board, however. The goal has always been to program the board to allow it to function as one dynamic unit. I need live control, perhaps through a MIDI controller, as well as the ability to run pre-set scenes and sequences. Sound reactive would be nice too. With each panel containing 16 channels, in total there are 128 channels across the entire wall. If I am not mistaken, this number seems likely to fit in well with DMX programming. As it stands now, all the channels are wired together in each board to create only one color at a time, and I am aware that the boards need to be rewired so that each vector/channel can be controlled separately. I know there are some RGB strips that allow for control of each individual diode within the strip, but I am fine with having each whole strip being capable of just one color at a time. I imagine this simplifies the programming quite a bit. In terms of the computer program, I have a couple of features that would be ideal. First is the ability to type words and have them appear live on the board, possibly even scrolling across. Being RBGs, the ability to control live color changing/blending is also a must. I am searching for both the hardware and software needed to fulfill this vision. I am capable of rewiring the boards myself, but am uncertain what specific style of plugs/connectors would be needed to connect each of the 8 panels to the master board/controller. I am also uncertain what type of board/controller is required. If you have any leads on products that are capable of fulfilling this application, please let me know. If you are capable of programming a custom program (if only a custom program would be suitable for this project) or know someone who is, again, please let me know. I'm also interested in what you think the budget would be. If there are any details I have left out that are essential to your determination process, contact me and I'll fill in whatever blanks may exist. Hope to hear from you soon, and thank you for your help.

Question by montejenkins   |  last reply

Smart amplifier design building blocks help? (making an amp w/ auto-volume adjust by controlling gain with running avg)

I am currently working on a simple headphone audio amp that automatically adjusts volume to my preference, regardless of what video I click on when it is plugged into a computer. I am tired of some video's being so quiet that I have to crank up the volume to overdrive to hear it, while other video's blast out sound and burst my eardrums. And of course when watching photonicinduction videos, he often can be hard to hear his voice at really low volume at like 12 at night when everyone is asleep, but then the sparks and hammers come into the picture, it is often too late to crank the volume back down, and thus makes your ears bleed or waking everyone up in the neighborhood! X-(. (Luckily he has included sound warnings, but I am lazy, and will engineer things that do the hard work of adjusting volume for me! :)   ) In a way, I understand that this will minimize the dynamic range, which I suppose hardcore "audiophiles" will go NUTS over me actually WANTING to do that, but none the less, That is what I want. My design currently is just a simple emitter follower with a NPN and PNP transistor is the class AB operation, and to minimize crossover distortion and give a definite gain, I have negative feedback op amp from the output of the totem pole transistor arrangement back to the inputs that feed the base of the low and high side transistor. (obviously, the transistors by themselves are low impedance output, (CV mode) and high impedance input, and have a gain of like 1.) Sorry, no schematics, but you capable of googling it if you want to see what I am describing. As it is, it works fine. HOWEVER, it does not do the automatic volume, or gain control. That is set in stone by a resistor divider network between the feedback and ground (the basic non inverting amp feedback config.) I do not want a fixed gain. I want a electrically adjustable gain. The thing I plan to use to do the automatic adjustment would be a peak detector on the input, which is probably going to be a simple diode and capacitor with a buffer, and a discharge resistor (or constant current drain) across the capacitor to gradually lower the max output, or possibly an integrating op amp that effectively takes a running average. The output of that needs to control GAIN of the primary amplifier, and I want to be able to control the PID of that thing, maybe by tuning the a LCR circuit, or what have you. It is all nice and analog, just the way I like it! :) If ONLY there was some magical (and common) component that I could control the resistance anywhere in the feedback loop, of with a given voltage w/ respect to ground... I was thinking of like a MOSFET, but I would have to deal with the non linearity of the input vs output impedance, which probably changes with respect to everything from the current flowing through the channel, the voltage relative to ground at the source, the temperature, the alignment of the planet's, what mood god is in, etc etc etc. That is too many factors for an open loop control on to model in discrete stuff! And digital potentiometers are out of the question since, well they are digital, I want an elegant simple solution, and the are $$ and difficult to deal with. They have so many requirements that need to be addressed.  I prefer a elegant discrete transistor circuit, but op amps and other basic building blocks are acceptable, (this thing I want to be built over a weekend with with jellybean parts from by junk bin.) if you happen to know of a specific audio chip that does this for me, please mention it, but I will probably not use it, but maybe analyze the internal circuitry and learn how it works.

Question by -max-   |  last reply

Oil Spill Water Cleanups As Fast As They Happen

We live and survive on oil today. That dependence won’t go away for at least a few more generations. Today’s technology allows us to drill oil just about anywhere in the world, and then move it to anywhere we want using behemoth water vessels. Unfortunately, there’s a dark side to all this and it happens when our technology fails us, as periodically demonstrated by mankind’s great oil spill disasters. The most recent being the Gulf Oil Spill of 2010. The amount of oil actually dumped upon our ecosphere and contaminating the environment was mind boggling. The numbing numbers are so large that we can’t even get our minds around it. And we all know that the responsible drilling company won’t fess up to how much was really spilled because even they don’t know, don’t want to know and furthermore want to forget about it. Is there some way to tackle this oil spill problem through the use of the very culprit that created it, namely technology? Of course there is, but it will cost the billions they used to clean up the mess they created in the first place.  We want to develop a technological process to be used worldwide that borrows from what we currently know, and clean up these oil spills almost as quickly as they happen upon our seascape. Did we finally clean up the Gulf oil spill?  Yes, maybe? But it took too long and we either didn’t use the right equipment or not enough prepared and available equipment to check the problem. Time is probably the most critical factor involved in mitigating oil spill disasters. While Nature obviously works to clean up ecological disasters, she takes perhaps a decade or more to make a region whole again. We need to help nature accelerate her time schedule to a few weeks not decades! Oil cleanup equipment exists that is too painstakingly slow and inefficient to get the job done quickly and effectively, and to recapture ~99% of the oil spilled. Today’s processes are makeshift, disjointed, and not organized nor designed to tackle today’s mega-proportion oil spill problems.  We need a cohesive mega-solution to handle mega-problem oil spills. A virtual army of specialists with proper equipment to attack, gather up and capture, then deliver the spilled oil to vessel staging platforms. These huge platforms will separate 99.9% of the captured oil/water, dumping the water back.  Oil tankers on standby then take this recaptured crude oil to refineries. This process must be set up with the proper equipment to dynamically proceed in real time. Only high sea states should be capable of halting its operation. The process of oil/water cleanup requires the serial use of various sequential operations where each performs a key stage of the operatic procedure. The orchestration starts with techniques that initially yield the biggest volumetric punch first, then refines this processing by using less volumetric cleaning ability but greater oil separation capability. All the while we have deployed an improved form of today’s containment apron, capable of hundreds of miles of coverage to prevent spreading the spilled oil slick to shore. Having researched today’s available oil spill removal systems, their usefulness has been categorized according to volumetric processing capability per time. Fast surface skimming techniques plus “huge”, constant flowing centrifugal separators clearly win, but are not 100% effective. Sponge-type, oil absorbent techniques then come to play as they are useful in nearly recapturing the remaining 0.1% oil from the water, but are slow and will be used solely on the remaining 99.99% pure water expelled from our centrifugal oil separators. Today we literally use these absorbers like sponges, dunking them into the oil slick, waiting awhile and pulling them out after they’ve absorbed some oil. Such prolonged processing times are unacceptable. Absorbers are to be used differently than today, their performance is vastly accelerated as they now act as 0.1% oil filters to process the pressurized water expelled from the centrifugal separators. The final residuals of perhaps 0.01% that the high pressure absorber filtration misses will require oil break down chemistry whose end products are environmentally friendly and allows Nature to restore balance. So the actual water dumped back will be better than 99.99% pure. Now let’s break this process down a bit and address the pieces of equipment involved. Our attack vessels are special, high speed catamarans that ferry cars between different ports today. They use water-jet propulsion, are extremely fast, maneuverable, and will be equipped with a special front-end water scoop to pick up the oil/water slick in real time while propelled forward. Their scoop or nozzle articulates, performing real time adjustments responding to oil slick depths thereby avoiding too much water pickup. Once their holding tanks are full, they reconnoiter with waiting intermediate-sized tankers to quickly dump their oil/water cargo. When these tankers are full, they deposit their load to one of the huge vessel platforms. These staging platforms use centrifugal systems to quickly and efficiently separate huge quantities of the oil and water, and dump the 99.9% cleaned water overboard (Nature effectively handles the remaining 0.1% of oil). When their tanks are full of oil, they start emptying themselves into the large standby oil tankers for delivery to refineries. QED. For you science fiction/fact fans, this concept requires enormous equipment, is on a huge scale and if viewed as one harmonious system may be the first Oil-Terra-Forming machine to be used on our planet.  

Topic by RT-101   |  last reply

500W electric scooter control and instrumentation with Arduino mega

1. Introduction DC 500W motor control with an Arduino mega to limit starting current and to vary the speed of the scooter. The battery is in 24V, 10A.h. The following table summarizes their characteristics: https://i58.servimg.com/u/f58/17/56/35/17/a014.jpg https://i58.servimg.com/u/f58/17/56/35/17/a111.jpg 2. Bibliography: Link download : sketch_escooter_feed_back_reel_V1.ino https://drive.google.com/file/d/0B_fB3GAsM02FSlRTWHdyRkhuUW8/view?usp=sharing escooter_ampli_SIMULINK.mdl https://drive.google.com/file/d/0B_fB3GAsM02FOW9OdmlhdDhJZGc/view?usp=sharing escooter feed back ISIS.DSN https://drive.google.com/file/d/0B_fB3GAsM02FOXdRWFN5OWRMQkE/view?usp=sharing youtube  :  "study trotinette electric e-scooter 100W et 350W, wiring"  youtube https://www.youtube.com/watch?v=QqJ2-YiE8Tg&index;=75&list;=PLfZunVn_gcq7EOurXuWU2sRFmh6CbiUiL Article: «Study of electric scooters 100W and 500W (Arduino), Revue 3EI 2017» Pdf? Book «I realize my electric vehicle» at DUNOD 3. Open loop program To test the programming, we simulate the program in ISIS, as can be seen in the following figure. In addition, we have an LCD display to display data (duty cycle corresponding to the PWM at 32Khz, motor current, motor voltage, action on the pushbuttons, 4 push buttons are used. BP1 to manually increment the duty cycle, BP2 decrement it. BP3 set the duty cycle to 0, corresponding to the brake contact. The speed of the motor is practically proportional to the duty cycle https://i58.servimg.com/u/f58/17/56/35/17/a211.jpg We made our own current amplifier called a step-down chopper but it is possible to buy a shield There are many cards for Arduino to control DC motors especially of low powers and also of great powers as can be observed on the following links.http://www.robotpower.com/products/MegaMotoPlus_info.html http://www.robotshop.com/en/dc-motor-driver-2-15a.html https://www.pololu.com/file/0J51/vnh3sp30.pdf https://i58.servimg.com/u/f58/17/56/35/17/a310.jpg But all these chopper shields measure the current internally but there is no current limitation. In order to have a current limitation, an analog current loop is required using specialized AOP or IC or a fast digital current loop. But what should be the value of the limitation current? The choice of the current value is normally for the 1-hour operation service in order to be able to carry out relatively long climbs without reaching the critical temperature of the engine. In our case, the limitation current must be Limiting motor = Power / Upper battery = 500W / 24V = 20A In addition, the power transistor of the chopper can only support 50A in our case. But in open loop, it has no current regulation, so as not to exceed the maximum current, a ramp of the duty cycle will be used. A 0.1 second interruption routine will be used to measure the voltage of the current (sample measurement, sample). This sampling time is arbitrary but does not allow to be faster than the rise time of the current because the electric time constant of the motor is L / R = 1.5 ms. Open loop operation with a 25.5s (8bit) ramp and 0.1s interrupt routine provides a good understanding of the operation of a DC motor drive. The display will only be done every 0.2s to have a stability of the digits on the screen. In addition, a digital filtering will be done on the current and the voltage on 4 values therefore on 0.4s. [b] Algo open loop [/b] Interrupt Routine All 0.1S Read voltage and current Loop loop (push button scan) If BP1 = 1 then increment PWM If BP2 = 1 then decrement PWM If BP3 = 1 then PWM = 0 Displaying variables every 0.2s Code: [Select] // include the library code: #include #include #include #define SERIAL_PORT_LOG_ENABLE 1 #define Led     13       // 13 for the yellow led on the map #define BP1     30       // 30 BP1 #define BP2     31       // 31 BP2           #define BP3     32       // 32 BP3 #define LEDV    33       // 33 led #define LEDJ    34       // 34 led #define LEDR    35       // 35 led #define relay   36       // 36 relay #define PWM10    10      //11   timer2    LiquidCrystal lcd(27, 28, 25, 24, 23, 22); // RS=12, Enable=11, D4=5, D5=4, D6= 3, D7=2, BPpoussoir=26 // Configuring variables unsigned   int UmoteurF = 0;  // variable to store the value coming from the sensor unsigned   int Umoteur = 0; unsigned   int Umoteur2 = 0; unsigned   int Umoteur3 = 0; unsigned   int Umoteur4 = 0; unsigned   int ImoteurF = 0;  unsigned   int Imoteur = 0; unsigned   int Imoteur2 = 0; unsigned   int Imoteur3 = 0; unsigned   int Imoteur4 = 0;            byte Rcy=0 ;    // 8bit duty cycle unsigned    int temps; // the setup function runs once when you press reset or power the board void setup() {   pinMode(Led, OUTPUT);   // Arduino card   pinMode(LEDV, OUTPUT);   pinMode(LEDR, OUTPUT);   pinMode(LEDJ, OUTPUT);   pinMode (PWM10,OUTPUT);     // Pin (10) output timer2   //  digitalWrite(LEDV,LOW);   Timer1.initialize(100000);         // initialize timer1, and set a 0,1 second period =>  100 000   Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt   lcd.begin(20, 4);    Serial1.begin(9600);   TCCR2B = (TCCR2B & 0b11111000) | 0x01;         //pin 10  32khz    http://playground.arduino.cc/Main/TimerPWMCheatsheet                                                   //http://www.pobot.org/Modifier-la-frequence-d-un-PWM.html   //   analogWriteResolution(bits)      https://www.arduino.cc/en/Reference/AnalogWriteResolution lcd.setCursor(0,1); lcd.print("Rcy"); lcd.setCursor(10,1); lcd.print("Um"); lcd.setCursor(5,1); lcd.print("Im"); lcd.setCursor(10,1); lcd.print("Um"); lcd.setCursor(20,1); // 4 lines display * 20 characters lcd.print("BP1+"); lcd.setCursor(25,1); lcd.print("BP2-"); lcd.setCursor(29,1); lcd.print("BP3=0"); } // Interruptions  tous les 0.1s void callback()  { temps++; //toogle state ledv for check   if ( digitalRead(LEDV)== 1 ) {digitalWrite(LEDV,LOW);}     else {digitalWrite(LEDV,HIGH);}     analogWrite(PWM10,Rcy);   // frequency Umoteur=analogRead(A0); Imoteur=analogRead(A1); Imoteur2=Imoteur; Imoteur3=Imoteur2; Imoteur4=Imoteur3; ImoteurF=(Imoteur4+Imoteur3+Imoteur2+Imoteur)/4 ; Umoteur2=Umoteur; Umoteur3=Umoteur2; Umoteur4=Umoteur3; UmoteurF=(Umoteur4+Umoteur3+Umoteur2+Umoteur)/4 ;   }// End routine // Loop corresponding to main function void loop() {    // BP + LED   if ((digitalRead(BP1))==1) {     lcd.setCursor(20,0);      // Column line     lcd.print("BP1");     digitalWrite(LEDR, LOW);        digitalWrite(LEDJ, LOW);     Rcy++;                        // PWM incrementation     if ( Rcy>254)  {Rcy=254;}     delay(100);               //8bits * 100ms = 25S increment 25ssecond slope     }        if ((digitalRead(BP2))==1) {     lcd.setCursor(20,0);     lcd.print("BP2");             Rcy--;      if ( Rcy<2)  {Rcy=2;}  // PWM almost at 0, engine stop         delay(100);      digitalWrite(LEDR, HIGH);     digitalWrite(LEDJ, HIGH);     }   if ((digitalRead(BP3))==1) {     lcd.setCursor(20,0);     lcd.print("BP3");      Rcy=2;               // PWM almost at 0, engine stop     } if (temps>=2)  { lcd.setCursor(0,0); lcd.print("                "); // Erase line lcd.setCursor(0,0);     lcd.print(Rcy); lcd.setCursor(5,0); ImoteurF=(ImoteurF)/20;     //resistance (5/1024)*(10/0.25ohm) si ACS712 66mV/A                            // For resistance 1ohm (ImoteurF) / 20; Simulation 5/25 lcd.print(ImoteurF); lcd.setCursor(10,0); UmoteurF=UmoteurF*10/38;                              //10/38   10/30 simula if (Umoteur>ImoteurF){UmoteurF=UmoteurF-ImoteurF;  }  //U-R*I lcd.print(UmoteurF); temps=0; }// End if time    } // End loop https://i58.servimg.com/u/f58/17/56/35/17/dsc_0614.jpg Since there is a limit of 9000 characters in the forum below Open loop program feature previous The interrupt routine lasts only 250 microseconds, the loop of the main program which scans the action of push buttons is 13micros and the display time of all data is 11ms. Thus, it is possible to improve the sampling period and thus the speed of the regulation of the current. The Arduino makes it possible to make the instrumentation of the scooter so to know the power, the consumption in Ah and Wh, to measure the speed, to know the consumption according to Wh / km, to measure the temperature of the engine, Have a safe operation. But for now we will see how to limit the current 4. Closed loop program, limited current control The sampling period will increase to 0.01 seconds (interrupt routine) If the current is less than the desired value, then the duty cycle can be increased or decreased to the desired value which is the setpoint. On the other hand, if the motor current is greater than the limiting value, there is a rapid decrease in the duty cycle. So as not to exceed the value of the duty cycle if it is saturated to 254 maximum and to the minimum value 6. Code: [Select] if (Imoteur<4000)                    // No current limitation at (20A * 10) * 20 = 4000   {if (consigne>Rcy)   {Rcy=Rcy+1;}   // Pwm ramp + 1 * 0.01second pure integrator    if (consigne    if ( Rcy>254)  {Rcy=254;}           // Limitation of duty cycle    analogWrite(PWM10,Rcy);   // Frequency 32kHz timer2}         } if (Imoteur>4000)  { Rcy=Rcy-5;              // No current filtering, to be faster                     if ( Rcy<6)  {Rcy=5;}       // Rcy is not signed, nor the PWM therefore Rcy minimum must not be less than 6                   analogWrite(PWM10,Rcy);   // Frequency 32kHz timer2}                        } 5. Closed Loop Program, Limited Current Control with Acceleration Handle An acceleration handle provides a 0.8V voltage when not operated and a 4.5V voltage when the handle is fully engaged. Instead of using pushbuttons to increase or decrease the speed setpoint, an acceleration handle will be used Code: [Select] Upoignee=analogRead(A3); // The relation in Upoign and the setpoint which corresponds to the duty cycle corresponds to if (Upoignee>100) { consigne=(Upoignee/2);     //0=a*200+b    et 255=a*800+b                      consigne= consigne-100;                   }                            else { consigne=0;   }               if (Upoignee<100) { consigne=0;  }     // redundancy     6. Temperature and safety program of the motor with the current measurement The outdoor temperature measurement can be easily performed by the LM35 component which charges 0.01V by degrees Celsius Code: [Select] temperature=analogRead(A2); //lm35 0.01V/°C temperature=temperature/2;       // Temperature coefficient lcd.setCursor(5,2); lcd.print("      "); lcd.setCursor(5,2); lcd.print(temperature);   // Display in ° C lcd.setCursor(9,2);      // Erasing secu display lcd.print("     ");   if (temperature>80 ) {lcd.setCursor(9,2);         // If motor external temperature is above 80 ° C                      lcd.print("secuT");                       Rcy=0;} In addition, thermal safety by measuring the motor current will be added. If the limitation current is greater than 10s then the motor will no longer be powered for 30s. A "secu" display will appear on the LCD display. This safety makes it possible to cut the motor on slope too high and when blocking the engine but it would be necessary to add the measurement of the speed in the latter case Code: [Select] if (timesecurite>=10000 ) {flagarret=1;      // If limitation current for a current of more than 10s                               timerepos=0;                               consigne=0;                               Rcy=0;                                 timesecurite=0;}       //   Then stop engine during a downtime    if (flagarret==1 ) {lcd.setCursor(9,2);         // If limiting current for a current of more than 20s                      lcd.print("secU");  }     //   Then stopping the motor for a stop time and display                                                     if (timerepos>=30000 &&  flagarret==1) {flagarret=0;                                           lcd.setCursor(9,2);      // After a rest time here of 30s                                            lcd.print("       ");   }   The display can be observed if the temperature is above 80 ° C https://i58.servimg.com/u/f58/17/56/35/17/a017.jpg Thermal safety by measuring the motor current (digital thermal relay) which allows to know the image of the internal temperature of the engine would be ideal. But for this, it is necessary to know well the thermal modeling of the motor. 7. Measurement of the energy capacity of the battery The energy capacity of a battery is in A.H, we will display the value in mA.H to have a high accuracy. The capacity will be in A.Second in the following equation. So to have in mA.H, it will be divided by capacity by3600. Capacity (A.s) n = I * Te + Cn-1 with Te = 0.01s and I multiplied by 10 So in the interrupt routine Code: [Select] capacity=ImoteurF+capacity ; And in the display Code: [Select] lcd.setCursor(0,3); // Display of energy capacity lcd.print("C mA.h="); capacity1=capacity/(18000);   //18000=3600*5  5=> Current measurement coefficient lcd.print(capacity1); To check a current of 10A with an adjustable resistor and after 30s, the capacity must be 83mA.H 8. Power and modeling with SIMULINK Modeling helps to understand the vehicle and its control. In addition, it is possible to compile the control part directly into the Arduino program from simulation under Simulink. But it will not be possible to simulate the instrumentation with the LCD display. In the following figure, we can observe the simulation of the programming of the chopper with the current limitation with Simulink. In the following figure, the green box shows the duty cycle control to vary the speed and the red border the current limitation. The controller of the control is here a simple integrator but it is possible to carry out a multitude of control. https://i58.servimg.com/u/f58/17/56/35/17/azub_c15.jpg In the previous figure, it can be observed that the current is well limited to 25A from 2s to 9.5s. Then, the current reaches 10.8A under established speed regime at 22.5km / h. The dynamics are similar to the tests carried out. With a slope of 5%, the cyclic ratio reaches only 100% as can be seen in the following figure. The speed will reach painfully 19km / h with a current of 24A and a motor power of 580W. See article: Study of electric scooters 100W and 500W (Arduino), 9. First conclusion It is easy to control a 500W DC motor with an Arduino and some components So repair many scooters that are in DC motors. But it takes some knowledge (automatic, engine) to know how to properly manage the engine and limit its current so as not to damage it The display of the speed, the distance, the operating time to know the Watt.km / km can also be realized with a menu 2. The .ino program as an attached file, But it is not possible to put an attached file in ISIS electronic labcenter? What is this forum? It would be desirable that the compiler could generate the.cof to debug in Isis and test the program line by line .... Arduino still has to make a lot of effort to be on the same level as other microcontrollers 10. speed measurement (tachometer) Velocity measurement is carried out using a hall effect sensor SS495 or A1324 which counts each revolution of the wheel. It is enough to enter the perimeter of the wheel of the scooter (130mm of radius therefore 0.816m in the case To have the speed, it is enough just to divide the number of turn of wheel on an arbitrary time of 1s to have a minimum speed of 0.81m / s therefore of 2.93 km / h. In addition, an average filter with 3 values will be used to display the speed. At 25km / h, there will be 8.5 laps. To count the turns, an external interrupt routine will be used on input INT0 21 of the mega card. http://www.locoduino.org/spip.php?article64 To simulate the speed, a pulse on input 21 will be used with a duty cycle of 10%. https://i58.servimg.com/u/f58/17/56/35/17/a018.jpg Code: [Select] void INT0b21() {   Tspeed++;   // External interruption to count the number of turns } // In the set up declare the interrupt routine when the 5V edge of the magnet detection is done   attachInterrupt(digitalPinToInterrupt(21), INT0b21, RISING );  // External interruption // In loop if (temps09>=5)  {        // 1 second loop lcd.setCursor(13,2);      // Erasing speed lcd.print("kph     "); lcd.setCursor(16,2); speed1=Tspeed*2937;      //1tour*816*3.6/1s=2.937km/h speed2=speed1;           //Tspeed (rate/seconde) speed3=speed2; speedF=(speed1+speed2+speed3)/3000;   // To put in kph lcd.print(speedF,1);    // Display to the nearest tenth Tspeed=0;   // Reset counter temps09=0;  //reset time } To improve the accuracy of the velocity measurement, it is possible that the sampling time of the velocity measurement is dependent on the velocity. For example: For speeds less than 10km / h sample at 1second, but above 10km / h sample at 2 seconds. 11. Distance measurement for autonomy The distance corresponds to the total number of turns of the wheel multiplied by the perimeter of the wheel. So do not set the number of turns to 0 for each sample. On the other hand, the reset of the distance will be done when pressing the reset of the Arduino Mega. The distance display will be displayed to the nearest second. At 32km / h, it will take 2 minutes to do 1km as can be seen in the following figure: https://i58.servimg.com/u/f58/17/56/35/17/a019.jpg Code: [Select] void INT0b21() {   Tspeed++;   // External interruption to count speed   nbrRate++; } lcd.setCursor(13,4);      lcd.print("km      ");  // distance=(nbrRate*816)/1000;  //distance m distance=distance/1000;  //distance km lcd.setCursor(15,4);      lcd.print(distance,1);  You can observe the electrical installation with the chopper, the arduino, and the display when the program is set up https://i58.servimg.com/u/f58/17/56/35/17/dsc_0613.jpg 12. Synthesis The RAM space is used only at 4% and ROM space at 3%, for an Arduino mega. So we could take an arduino a little smaller. But, there are 8 Lipo cells to make the 24V power supply to power the engine via the chopper. Therefore, the voltage measurement of each element will be on the Arduino with a JST connector. This measurement makes it possible to know if a cell with an internal resistance which begins to pose a problem and to know if the balancing of each cell has indeed been carried out. It is possible to switch to 36V with 12 cells also with the arduino mega without using an external shield that multiplex 24 analog inputs on input A0 It is possible to send all data to a smartphone via Bluetooth HC06 via pins 20, 21, RX1 and TX1. But the application under android realized under JAVA Studio can not be shared on this forum. This part will not be explained. After having made the instrumentation of this scooter, a study should be carried out on the precision of the measurements, it is possible to read "Instrumentation of a low-power electrical motor vehicle" eco marathon "type Revue 3EI N ° 81, July 2015 http://www.fichier-pdf.fr/2015/09/07/instrumentation-vehicule-faible-consommation-eco-marathon/

Topic by Iutgeiisoissons