Wikipedia

Résultats de recherche

mardi 16 juin 2015

Contrôle DC moteur par arduino

Je l'ai fini avec la construction du circuit de contrôle de la vitesse et la direction du moteur à courant continu 12V avec Arduino uno par 3 fils, 1 pour la vitesse et les 2 autres pour la direction. Ce circuit utilise la technique de PWM pour contrôler la vitesse et la direction est sélectionné en tournant 4 MOSFET sur et en dehors, ces 4 MOSFET rend notre circuit de pont en H (Pour le circuit de pont en H Je l'habitude visite ce sujet).
Aussi la fréquence PWM est 20KHz par la broche 9. (environ PWM Arduino: Arduino PWM)


Code arduino:
#include <PWM.h>
unsigned char k=0, l=0, m=0, n=0;
int32_t frequency = 20000; //pwm frequency in Hz
  int timer2_initial_value,s;
   void setup(){
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
   InitTimersSafe();
  bool success = SetPinFrequencySafe(9, frequency);
      
  // initialize timer2 interrupt for adc reading 
  noInterrupts();           // disable all interrupts
  TCCR2A = 0;
  TCCR2B = 0;
  timer2_initial_value = 0;  
  TCNT2 = timer2_initial_value;   // preload timer
  TCCR2B |= (1 << CS22) |(1 << CS21) | (1 << CS20); // 1024 prescaler 
  TIMSK2 |= (1 << TOIE2);   // enable timer overflow interrupt
  interrupts();             // enable all interrupts
 }

 ISR(TIMER2_OVF_vect)        // interrupt service routine 
 {
  TCNT2 = timer2_initial_value;   // preload timer
  n++;
  if (n>20){
    n = 0;
    k = 0;
    if (s != analogRead(A0)){
   s = analogRead(A0); 
  pwmWrite(9,s/4);
  if (s > 950) l = 0;
  else{ if (s > 850) l = 1;
        else{ if (s > 720) l = 3;
              else{ if (s > 600) l = 7;
                    else{ if (s > 480) l = 15;
                          else{ if (s > 350) l = 31;
                                else{ if (s > 150) l = 63;
                                      else l = 127;}}}}}}
 for(m=0;m<7;m++){  //send data serially to speed level via shift register
   digitalWrite (12,bitRead(l,k));
   digitalWrite (11,1);
   digitalWrite (11,0);k++;}
  }
 }
 }
 int fwd(){
   while(1){
   digitalWrite(0,HIGH);
   digitalWrite(1,LOW);
   if (digitalRead(4)==0) break;}}
  
 int pwd(){
   while(1){
   digitalWrite(0,LOW);
   digitalWrite(1,HIGH);
   if (digitalRead(4)==0) break;}}
   
  void loop()
 {
   k = 0;
   l = 127;   //all 7 leds are off
  digitalWrite(0,LOW);
  digitalWrite(1,LOW);
  digitalWrite(13, LOW);
  if (digitalRead(2)==0) {digitalWrite(13, HIGH);fwd();}
  if (digitalRead(3)==0) {digitalWrite(13, HIGH);pwd();}
  
  for(m=0;m<7;m++){
   digitalWrite (12,bitRead(l,k));
   digitalWrite (11,1);
   digitalWrite (11,0);k++;}
 }

jeudi 11 juin 2015

Le port P1 compteur intelligent

Qu'est-ce qu'un port P1?
Le port P1 est un port série (en option) sur votre compteur électrique numérique dans lequel vous une prise RJ-11 (Registered Jack) bouchon peut poignarder (connu à partir du téléphone) pour effectuer des lectures et de la consommation mètres lire. Il est impossible d'envoyer des données à la porte
en bas de cette page, je agrégées les données "Exigences Néerlandais compteurs intelligents" (DSMR).
Non norme (voir DSMR v4.04, Chapitre 4.6 "signaux")
Toutefois, ce port série ne sont pas la norme, même si elle fonctionne sur le niveau UART TTL, les valeurs logiques sont inversés: 1 = 0 et 0 = 1, ce logiciel sur à résoudre, mais pas donne toujours le résultat souhaité, la solution est de le faire dans le matériel, par exemple avec une mise à puce souvent MAX232 ou 7404 est utilisé entre eux.
Selon la spécification, la porte max. 15V, donc un signal réel RS232 (+ 12V) à partir d'un "vrai" port COM doit être en mesure de.

mardi 2 juin 2015

Thermométre à base d'un microcontroller (protocole I2C)


Pour plus d'informations : mohamed.amri102@gmail.com

5G Technology


If you take a stroll outside today, you'll see a lot of people with mobile phones, phablets or tablets in their hands making calls, using the internet to catch up on the news, watch videos, or interacting with others via Facebook, Tumblr or Twitter including you. In doing so, we all are using a mobile data network. Many of these applications particularly video  consume a lot of bandwidth, so telecommunications companies across the world always try to talk about upgrading to the latest generation of mobile data to help speed things up.As we approach 2020 it is likely that there will be more than 50 billion connected devices worldwide and The Internet of Things will no longer be something we think about but will be all around us. Everything from home appliances to our cars will be connected to the network, and 5G is being designed and built with this in mind.5G is not just a mobile technology, its ubiquitous access to high & low data rate services.The technology is still a long way from becoming a reality, but it has the potential to completely change the way we interact with wireless devices, from the smartphones in our pockets to the cars we drive.
Battery life is essential aspect of our mobile connectivity. The target for 5G networks is handsets, phablets, tablets and other devices with five times the battery life of existing 4G devices. Imagine not having to recharge for a couple of days or being able to watch a couple of movies without having to find a power outlet to plug into.