Using Arduino and Motor Shield - arduino-uno

I am a beginner in Arduino.
I want to connect 2 motors to Arduino. Why do we require txhe motor shield?
And if yes please explain why is it required? Also can I use an amplifier for the same.
Another question, I have SLAEX039 L293D Motor Shield. Does using this motor shield restrict arduino's pin usage? I mean we can't use the arduino pins if we use the motor shield right, can we?
Thank a lot

The core reason that we require motor shields is because the Arduino, on its own, cannot power a motor with its IO pins.
The digital IO pins on the AVR based Arduinos (such as the Uno) are only rated to supply up to 40mA of current at 5V - they are designed for signalling hardware, not driving loads such as motors, that can run to several Amps at higher voltages at peak loads.
Fortunately, there are devices that are designed to control heavy loads such as motors based on these logic level signals - we typically call these drivers. The L293D is such a driver, which connects to a logic device like the Arduino for signalling and then drives a motor from another supply.
While you can use a cheap, standalone L293D device on its own, it's often more convenient to use one carried on a shield, which correctly connects the driver as well as provides connectors for the external power and motor.
Ultimately, you don't require a shield, but you do need some form of driver to take the logic level signals from the Arduino, and shields are convenient ways of providing these.
http://www.ti.com/lit/ds/symlink/l293.pdf is a datasheet for a L293D device from TI, showing the various ways it can drive a motor based on the signals it receives.

Related

programming FPGA using ethernet

I have to program the FPGA using bootloader over ethernet connection.
My questions is that do I need to remove the inputs from the FPGA while programming its flash.
Regards
Uzmeed
I use the following Ethernet FPGA cores with necessary Ethernet functionality, flash programmer and more.
These cores supports this remote programming tool. The core works great and are very easy to use. Free to download.
Is the flash external or internal to FPGA? If the flash is external, most likely FPGA will have dedicated serial configuration interface. Now really depending on the sensitivity of other I/O and the speeds you are operating, if the board isn't designed right, fast edge rates on SPI interface can inject noise into other I/O channels(For example if there is an analog data line close by which is monitored through an ADC by FPGA). Highly unlikely that any of these will "damage" your FPGA, but if you care about data integrity on these I/O lines, even during flash is programmed, then that could be impacted. If this is an internal flash, obviously none of these would be an issue.

Flash memory programming over CAN bus

I am planning a project using three different uC: ATSAMC21N18, PIC18F4548 and a motor driver (not yet chosen). In total there will be 20-30 PCBs many of them are the same kind with the same firmware. For the main communication between the µC I have chosen CAN.
Usually, I flash the uC using a PICKIT with MPLab but with constant revisions and that many uC I am wondering if it is possible to flash the individual uC using CAN?
From my experience with the Arduino, it has a bootloader that enables the UART communication.
Can I include a bootloader that enables CAN on my chips? Do I have to write them myself? Are there existing tools to enable some functionality and write a bootloader to the chip?
I am unable to find literature on this topic.

programming IC recycled from electronic wastes

I have a usb modem with MT6272M chipset, can I take out its chipset and program it? I know that some ICs are programmable and some are not but I really want to program an IC without investing on arduino, rhasberry pi, or intel gallileo so trying to recycle electronic wastes.
Most of the ICs in the electronic waste are not programmable. Because they are specifically designed to do one job efficiently and that program is bound to the IC.
What you are searching is Programmable Integrated Circuit or Micro-controller chips. These are specifically designed to re-program again and again.
Anyhow if you find a specific Integrated Circuit from the waste,
First and most importantly, find its data-sheet (mostly available
in their manufacturer's website for free).
check whether is it a Programmable Integrated Circuit.
if yes, what is the hardware requirement to program it and build the
hardware circuit
write the program according to the specific requirements using
compatible libraries.
connect to the PC
Find the correct boot loader and upload it to the IC.
upload the program, which you have written, to the Programmable Integrated Circuit.
Test it
As you can see, you will need to build different hardware for different Programmable Integrated Circuit. So it is cheaper for you to buy arduino or raspberry circuit board. Then you can reprogram more chips using same board again and again plus the help of the community and the thousands of libraries.
Edit
If it is not mentioned in the datasheet whether you can program it or not , most probably it can't reprogram.
And other thing is that the main function of a modem is signal processing. For example, old cable modems are converting analog signals into digital signals. So they are not designed to reprogram or to do logical calculations. With my personal experience, you better start with a simple micro-controller and once you know the basics, you can go for higher level. Anyway I admire your idea to recycle the waste ICs.

PCIe JTAG for (re)programming a PCIe board

I noticed that the PCI bus has the JTAG wires (i.e. TCK TDI TDO etc.): is there any way to use that JTAG for re-programming an fpga based PCIe device? (supposing that the fpga's JTAG is connected to the PCI wires).
thanks
Michele
EDIT: since I see a -1, maybe I couldn't make myself understood... I'm going to try to better explain the situation. We have a Terasic DE5 (Stratix V FPGA) PCIe board, which actually has the JTAG "wires" of the PCIe bus routed to the FPGA. It's true that there is a JTAG port soldered on the board, but for mechanical reasons is hard to reach and use.
So my question is: is it possible to use the PCI pins to programm the FPGA as we can do with the BLASTER? if so, what's the linux infrastructure to support the PCIe JTAG programming? If there's no chance, could someone explain me why?
I've never come across any motherboard which allows the host processor access to the JTAG on the PCI slots. It's there (as I understand it) for manufacturers to use in end-of-line test kit.
I guess you might find some JTAG pins on a header somewhere. Again, I've never come across any motherboard with that documented for end users.
I've looked at the JTAG connections you describe but found no way to use them. These connections seem to be only useful for manufacturing test of a motherboard with FPGA board attached. That is the purpose for which JTAG (boundary scan) was original designed.
Here are two alternatives to what you propose:
Send new bitstreams over PCIe, write them to the boot flash. Reset the FPGA to load the new design. On some machines, you can reset the FPGA without rebooting by requesting Linux to rescan the device.
Send new bitstream over PCIe, and use partial reconfiguration to load the changed part of the design. This requires an additional license from Altera.

Accessing an Ethernet or USB port

Good Afternoon,
This post is to ask for ideas on which programming language for Windows Vista you would suggest for accessing raw data from an Ethernet port or a USB port. My strength is in micro-controllers. I have a project underway where the 32-bit micro-controller is the last processing device in a software defined radio. The micro has the capability to output digitized signals over a USB port or an Ethernet port. I would like to use the PC as a plotting tool to display the raw digitized sound as a waveform on the screen and possibly play the sound on the sound card output. Also, I will be creating FFT spectrum data, either in the 32-bit micro or in the PC, if the software is fast enough, for spectrum display on my laptop.
I have past experience with older VB. In my last project, I used a simple basic program (JustBasic) to send control data via a USB/RS232 device to a micro-controller. This interface is certainly not fast enough for this project. Additional future features would be to use the Ethernet or USB to control real time features i.e. filter frequencies, FFT size and sample rates in the micro-controller. Any help is appreciated.
Microsoft provides the Raw Input API to get data straight from a USB device. You could use C# to access the port (see here), or any other .NET language. You could also use C or C++ (see here).

Resources